Python自定义元类的实例讲解

作者:小妮浅浅 时间:2021-12-31 13:13:36 

1、说明

一个类没有声明自己的元类,默认他的元类就是type,除了使用元类type,用户也可以通过继承type来自定义元类。

2、实例

我们可以使用类属性 __metaclass__ 把一个类的创建过程,转交给其它地方。


class A(object):

__metaclass__ = ... # 这个类的创建转交给其他地方

pass

先定义了类 A,然后定义了一个类属性 __metaclass__,这个属性表示创建类 A 的过程,转交给其它地方处理。

类属性 __metaclass__ 可以是一个方法,也可以是一个类。

内容扩展:

用元类创建类

前面讲到过,type 有一个作用是用于检查对象的类型,其实它还有另外一个作用就是作为元类动态地创建类(对象)。


>>> Person = type("Person", (), {"live":True})
>>> Person
<class '__main__.Person'>

Person 就是一个类,它等价于:


>>> class Person:
... live = True
...
>>> Person
<class '__main__.Person'>

用元类 type 创建类的语法是:

type(类名,基类元组(可以为空), 属性字典)

来源:https://www.py.cn/jishu/jichu/27876.html

标签:Python,自定义元类
0
投稿

猜你喜欢

  • pandas计算最大连续间隔的方法

    2022-05-23 12:05:21
  • 如何在浏览器地址栏显示自己的Favicons.ico图标

    2007-10-22 11:45:00
  • PyChon中关于Jekins的详细安装(推荐)

    2021-03-17 08:07:31
  • Python网络编程中urllib2模块的用法总结

    2022-05-26 18:49:53
  • django中瀑布流写法实例代码

    2022-08-04 11:11:26
  • php中session_id()函数详细介绍,会话id生成过程及session id长度

    2023-11-24 08:01:00
  • Python完全新手教程

    2021-08-19 18:38:06
  • Python基于pillow判断图片完整性的方法

    2021-05-12 21:55:50
  • Python OpenCV绘制各类几何图形详解

    2023-02-04 18:27:01
  • python起点网月票榜字体反爬案例

    2021-03-11 02:56:05
  • 10分钟学会Google Map API (二)

    2009-06-07 18:14:00
  • Python中的Nonetype类型怎么判断

    2021-06-19 17:33:13
  • python将人民币转换大写的脚本代码

    2021-03-05 17:36:23
  • python对站点数据做EOF且做插值绘制填色图

    2023-03-05 03:30:56
  • CSS的另类拼图___减少HTTP请求

    2009-05-28 19:05:00
  • 网页打开速度的心理学

    2009-03-26 13:18:00
  • python并发2之使用asyncio处理并发

    2022-01-11 23:41:28
  • Python实现获取前100组勾股数的方法示例

    2022-07-14 08:54:23
  • Python 元组(Tuple)操作详解

    2023-06-28 15:36:39
  • asp.net中调用winrar实现压缩解压缩的代码

    2023-07-18 14:30:30
  • asp之家 网络编程 m.aspxhome.com