最近遇到到一个问题,super 在多继承的类中只调用第一个类的函数。
代码如下
class A(object):
def __init__(self, **kwargs):
print('a1')
print('a', kwargs)
print('a2')
class B(object):
def __init__(self, **kwargs):
print('b1')
print('b', kwargs)
print('b2')
class C(A, B):
def __init__(self, **kwargs):
print('c1')
super(C, self).__init__()
print('c2')
if __name__ == '__main__':
c = C()
结果是
c1
a1
a {}
a2
c2
这就很尴尬了,为什么不会出发 B().init 呢