多继承可能引发方法冲突,或者属性冲突
冲突时,python解释器会按某个顺序进行选择,仅选择顺序链的第一个, 这种方式叫mro
mro的顺序由python解释器指定,我们可以使用__mro__方法查看(类内置方法)
class A:
def demo(self):
print("A示例方法")
class B:
def demo(self):
print("B示例方法")
class C(A,B):
pass
c=C()
print(C.__mro__) #查看执行顺序
c.demo()
程序执行结果:
(<class '__main__.C'>, <class '__main__.A'>, <class '__main__.B'>, <class 'object'>)
A示例方法