时间:2021-05-23
一个类没有声明自己的元类,默认他的元类就是type,除了使用元类type,用户也可以通过继承type来自定义元类。
我们可以使用类属性 __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如何自定义元类内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
python自定义异常实例详解本文通过两种方法对Python自定义异常进行讲解,第一种:创建一个新的exception类来拥有自己的异常,第二种:raise唯一
本文实例为大家分享了python类支持比较运算的具体代码,供大家参考,具体内容如下案例: 有时我们希望自定义的类,实例间可以使用比较运算符进行比较,我们自定义
本文实例讲述了Python自定义线程类。分享给大家供大家参考,具体如下:一.代码#-*-coding:utf-8-*-#!python2importthread
本文实例讲述了Python自定义函数的5种常见形式。分享给大家供大家参考,具体如下:Python自定义函数是以def开头,空一格之后是这个自定义函数的名称,名称
本文实例讲述了PHP基于自定义类随机生成姓名的方法。分享给大家供大家参考,具体如下:自定义类rndChinaName.class.php:getXingList