多继承 查看一个类执行顺序

在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、如果找到最后一个类还没有找到方法,程序报错

 

posted @ 2019-10-17 23:48  青春叛逆者  阅读(163)  评论(0编辑  收藏  举报