服务器之家

服务器之家 > 正文

Python自定义元类的实例讲解

时间:2021-09-23 00:20     来源/作者:小妮浅浅

1、说明

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

2、实例

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

?
1
2
3
4
5
class A(object):
 
  __metaclass__ = ... # 这个类的创建转交给其他地方
 
  pass

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

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

内容扩展:

用元类创建类

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

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

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

?
1
2
3
4
5
>>> class Person:
... live = True
...
>>> Person
<class '__main__.Person'>

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

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

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

原文链接:https://www.py.cn/jishu/jichu/27876.html

标签:

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
返回顶部