在多个派生类中调用构造函数

时间:2012-09-12 12:49:02

标签: python-3.x multiple-inheritance super

python3中调用多个派生类的基础构造函数的正确语法是什么?

class A:
    def __init__():
        print("A")

class B:
    def __init__():
        print("B")

class C(A,B):
    def __init__():
        super().__init__() # ???

1 个答案:

答案 0 :(得分:1)

您还必须将super调用放在父类中。我认为它是如何运作的C super得到AA' 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方法。