您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:Python自定义元类的实例讲解

51自学网 2021-10-30 22:49:12
  python
这篇教程Python自定义元类的实例讲解写得很实用,希望能帮到您。

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(类名,基类元组(可以为空), 属性字典)

到此这篇关于Python自定义元类的实例讲解的文章就介绍到这了,更多相关Python如何自定义元类内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net!


关于PyQt5主窗口图标显示问题汇总
python 如何将浮点数尾部无效0去掉和无效的‘.’号
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。