class MetaCls(type):
def __init__(cls,*args,**kwargs):
print('MetaCls')
print(cls.__name__)
class OriginFoo(object, metaclass=MetaCls):
print (123)
def __init__(cls,*args,**kwargs):
print('OriginFoo')
class Foo(OriginFoo):
print (456)
def __init__(cls,*args,**kwargs):
print('Foo')
輸出
123
MetaCls
OriginFoo
456
MetaCls
Foo
結論
-
創建父類
-
遍歷類自己屬性
-
調用元類創建