Python自定义元类的实例讲解
作者:小妮浅浅 时间:2021-12-31 13:13:36
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(类名,基类元组(可以为空), 属性字典)
来源:https://www.py.cn/jishu/jichu/27876.html
标签:Python,自定义元类
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
pandas计算最大连续间隔的方法
2022-05-23 12:05:21
![](https://img.aspxhome.com/file/2023/7/104397_0s.jpg)
如何在浏览器地址栏显示自己的Favicons.ico图标
2007-10-22 11:45:00
![](https://img.aspxhome.com/file/UploadPic/200710/22/20071022114816573s.jpg)
PyChon中关于Jekins的详细安装(推荐)
2021-03-17 08:07:31
![](https://img.aspxhome.com/file/2023/9/87789_0s.jpg)
Python网络编程中urllib2模块的用法总结
2022-05-26 18:49:53
![](https://img.aspxhome.com/file/2023/7/107637_0s.png)
django中瀑布流写法实例代码
2022-08-04 11:11:26
![](https://img.aspxhome.com/file/2023/6/92366_0s.jpg)
php中session_id()函数详细介绍,会话id生成过程及session id长度
2023-11-24 08:01:00
Python完全新手教程
2021-08-19 18:38:06
Python基于pillow判断图片完整性的方法
2021-05-12 21:55:50
Python OpenCV绘制各类几何图形详解
2023-02-04 18:27:01
![](https://img.aspxhome.com/file/2023/2/104992_0s.png)
python起点网月票榜字体反爬案例
2021-03-11 02:56:05
![](https://img.aspxhome.com/file/2023/1/93441_0s.jpg)
10分钟学会Google Map API (二)
2009-06-07 18:14:00
Python中的Nonetype类型怎么判断
2021-06-19 17:33:13
python将人民币转换大写的脚本代码
2021-03-05 17:36:23
python对站点数据做EOF且做插值绘制填色图
2023-03-05 03:30:56
![](https://img.aspxhome.com/file/2023/8/93488_0s.png)
CSS的另类拼图___减少HTTP请求
2009-05-28 19:05:00
![](https://img.aspxhome.com/file/UploadPic/20095/28/w200952123340-79s.gif)
网页打开速度的心理学
2009-03-26 13:18:00
python并发2之使用asyncio处理并发
2022-01-11 23:41:28
![](https://img.aspxhome.com/file/2023/2/87732_0s.gif)
Python实现获取前100组勾股数的方法示例
2022-07-14 08:54:23
Python 元组(Tuple)操作详解
2023-06-28 15:36:39
![](https://img.aspxhome.com/file/2023/3/59133_0s.png)
asp.net中调用winrar实现压缩解压缩的代码
2023-07-18 14:30:30