在python中针对类提供了一个内置属性,__mro__ 可以查看方法搜索顺序
MRO 是method resolution order ,主要用于在多继承时判断方法、属性的调用路径
class A(object): def demo(self): print('A---demo ') def test(self): print('A---test') class B(object): def demo(self): print('B---demo ') def test(self): print('B---test') class C(A,B): pass print(C.__mro__)
1、在搜索方法时,是按照输出结果,从左向右的顺序查找的
2、如果在当前类中 找到方法就直接执行,不在搜索
3、如果没有找到就查找下一个类中是否有对应的方法,如果找到就直接执行,不在继续搜续哦
4、如果找到最后一个类还没有找到方法,程序报错