原理分析
1、子类会先于父类被检查。多个父类会根据它们在列表中的顺序被检查。
2、如果对下一个类存在两个合法的选择,选择第一个父类。
Python中子类可以同时继承多个父类,如果继承了多个父类,那么属性的查找方式有两种,分别是:深度优先和广度优先。
实例
#-*-coding:utf-8-*- #@Time:2019/12/2409:30 #@Author:我就是任性-Amo #@FileName:15.新式类与经典类.py #@Software:PyCharm #@Blog:https://blog.csdn.net/xw1680 classA(object): deftest(self): print('fromA') classB(A): deftest(self): print('fromB') classC(A): deftest(self): print('fromC') classD(B): deftest(self): print('fromD') classE(C): deftest(self): print('fromE') classF(D,E): #deftest(self): #print('fromF') pass f1=F() f1.test() print(F.__mro__)#只有新式才有这个属性可以查看线性列表,经典类没有这个属性 #importinspect#使用inspect模块中的getmro()方法可以查看python2.x的mro顺序
以上就是Python继承的原理分析,希望对大家有所帮助。更多Python学习指路:Python基础教程