Question related to super() with __init__()
问题 Given 3 classes below, class A(object): def __init__(self): print('A') def test(self): print('1') class B(A): def __init__(self): super(B,self) ## if .__init__() is not given here print('B') class C(B, A): def __init__(self): super(C, self).__init__() print('C') If I run D = C() , it will return B C If I run print(C.__mro__) , it will gives (<class '__main__.C'>, <class '__main__.B'>, <class '__main__.A'>, <class 'object'>) . I think that means class A will be executed as it is inside the mro