Python如何自定义元类 Python自定义元类的实例讲解
小妮浅浅 人气:0想了解Python自定义元类的实例讲解的相关内容吗,小妮浅浅在本文为您仔细讲解Python怎样自定义元类的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点: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(类名,基类元组(可以为空), 属性字典)
加载全部内容