在Python3中,我有一个继承了另外两个类的类。 但是,正如我所看到的,当一个对象被初始化时,它初始化的第一类也见示例......
class A:
def __init__(self):
print("A constructor")
class B:
def __init__(self):
print("B constructor")
class C(A, B):
def __init__(self):
print("C constructor")
super().__init__()
c = C()
这具有以下输出:
C 构造函数 构造函数
我的问题是,为什么它不也调用 B 构造函数? 是否可以使用 super 从 C 类调用 B 构造函数?
class A:
def __init__(self):
print("A constructor")
super().__init__() # We need to explicitly call super's __init__ method. Otherwise, None will be returned and the execution will be stopped here.
class B:
def __init__(self):
print("B constructor")
class C(A, B):
def __init__(self):
print("C constructor")
super().__init__() # This will call class A's __init__ method. Try: print(C.mro()) to know why it will call A's __init__ method and not B's.
c = C()