元类是类的类,是类的模板
元类是用来控制如何创建类的,正如类是创建对象的模板一样,而元类的主要目的是为了控制类的创建行为
元类是用来控制如何创建类的,正如类是创建对象的模板一样,而元类的主要目的是为了控制类的创建行为
class Foo:
def __init__(self,name):
self.name=name
f1=Foo('alex')
print(type(f),type(Foo))
元类的实例化的结果为我们用class定义的类,正如类的实例为对象(f1对象是Foo类的一个实例,Foo类是 type 类的一个实例)
所以我们还可以用type来定义类
def __init__(self,name):
self.name=name
def test(self):
print('test')
Foo=type('Foo',(object,),{'x':1,'__init__':__init__,'test':test})
#类名 继承类 属性字典
f1=Foo('alex')
print(f1.name)
f1.test()