在python3
中调用多个派生类的基础构造函数的正确语法是什么?
class A:
def __init__():
print("A")
class B:
def __init__():
print("B")
class C(A,B):
def __init__():
super().__init__() # ???
答案 0 :(得分:1)
您还必须将super
调用放在父类中。我认为它是如何运作的C
super
得到A
和A
' s super
得到{{{ 1}}
B
或者使用这个替代方案,我更喜欢
更明确的语法class A:
def __init__(self):
super().__init__()
print("A")
class B:
def __init__(self):
super().__init__()
print("B")
class C(A,B):
def __init__(self):
super().__init__()
这会调用class A:
def __init__(self):
print("A")
class B:
def __init__(self):
print("B")
class C(A,B):
def __init__(self):
A.__init__(self)
B.__init__(self)
类对象上__init__
和A
类的B
方法。