1.多重继承是搜索顺序为广度优先
示例代码如下
class A(object):
def test(self):
print('this is A test')
class B(object):
def test(self):
print('this is B test')
def dog(self):
print('this is B dog')
class C1(A, B):
pass
class C2(A, B):
def dog(self):
print('this is C1 dog')
class D(C1, C2):
pass
if __name__ == '__main__':
print(D.__mro__) # __mro__属性,告诉查找顺序是怎样的
print(C1.__mro__)
s = D()
s.test()
s.dog()
结果如下
可以看到,test找到的是A类中的方法,dog找到的是C2中的方法。