1

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

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

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

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

1 回答 1

1

您也必须将super调用放在父类中。我认为它的工作原理是C' supergetsAA' superget'sB

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__方法。ABC

于 2012-09-12T13:01:02.953 回答