带你了解Python中metaclass实现
问题解答发布日期:2021-02-19 14:22:12
目前,身边越来越多的朋友都再学习Python,今天就给大家分享一下有关Python中metaclass方式实现。
"""
1.类由type创建,创建类时,type的__init__方法自动执行,类() 执行type的 __call__方法(类的__new__方法,类的__init__方法)
2.对象由类创建,创建对象时,类的__init__方法自动执行,对象()执行类的 __call__ 方法
"""
例子:
class Foo:
def __init__(self):
pass
def __call__(self, *args, **kwargs):
pass
obj = Foo()
# 执行type的 __call__ 方法,调用 Foo类(是type的对象)的 __new__方法,用于创建对象,然后调用 Foo类(是type的对象)的 __init__方法,用于对对象初始化。
obj() # 执行Foo的 __call__ 方法
以上就是关于Python中metaclass方式实现的全部内容了,希望能够帮助到大家更好的学习Python。
文章部分内容源于网络,联系侵删*