class Base(): def __init__(self): print("Base") class First(Base): def __init__(self): super().__init__() print("first") class Second(Base): def __init__(self): print("second") class Third(First,Second): def __init__(self): super().__init__() print("third") Third() 为何输出结果为
second
first
third
为什么 First 中 super().init() 没有被调用呢
如果代码改为
class Base(): def __init__(self): print("Base") class First(Base): def __init__(self): super().__init__() print("first") class Second(Base): def __init__(self): super().__init__() print("second") class Third(First,Second): def __init__(self): super().__init__() print("third") Third() 则输出结果为
Base
second
first
third
