ara*_*lar 5 python oop inheritance
假设我在Python(A, B, C)中有一个类对象列表,我想在构建类时继承它们D,例如:
class A(object):
pass
class B(object):
pass
class C(object):
pass
classes = [A, B, C]
class D(*classes):
pass
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我这样做时,我遇到语法错误.除了通过写作,我还能怎样完成它class D(A, B, C)?(在我的实际场景中有三个以上的课程)
您可以使用type关键字动态创建类,如下所示:
>>> classes = [A, B, C]
>>> D = type('D', tuple(classes), {})
>>> type(D)
<class 'type'>
>>> D.__bases__
(<class '__main__.A'>, <class '__main__.B'>, <class '__main__.C'>)
Run Code Online (Sandbox Code Playgroud)
有关更多示例,请参阅15247075.