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

一个人想着一个人 提交于 2019-12-01 17:33:19

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

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!