Python type()动态创建类
在Python中,可以使用type()
函数动态创建类。type()
函数是一个元类,它可以接受三个参数:name
,bases
和attrs
。其中,name
是类名,bases
是基类,attrs
是一个字典,包含类的属性和方法。
以下是使用type()
函数动态创建类的示例:
MyClass = type('MyClass', (), {'x': 1, 'y': 2})
obj = MyClass()
print(obj.x) # 输出: 1
print(obj.y) # 输出: 2
在上面的示例中,我们使用type()
函数创建了一个名为MyClass
的类。该类没有基类,也没有属性或方法。然后,我们通过MyClass()
创建了一个对象,并访问了该对象的属性x
和y
。
除了使用空的字典创建类之外,还可以传递基类和属性字典:
BaseClass = type('BaseClass', (), {'x': 1, 'y': 2})
DerivedClass = type('DerivedClass', (BaseClass, ), {'z': 3})
obj = DerivedClass()
print(obj.x) # 输出: 1
print(obj.y) # 输出: 2
print(obj.z) # 输出: 3
在上面的示例中,我们首先创建了一个名为BaseClass
的基类,具有属性x
和y
。然后,我们使用type()
函数创建了一个名为DerivedClass
的派生类,该类继承自BaseClass
,并附加了属性z
。最后,我们通过DerivedClass()
创建了一个对象,并访问了该对象的属性x
、y
和z
。