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如何自定义元类内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:- Python基础之元类详解
- 详解python metaclass(元类)
- 一篇文章带你了解python迭代器和生成器
- 正确理解python迭代器与生成器
- python学习之可迭代对象、迭代器、生成器
- Python元类与迭代器生成器案例详解