Python继承的原理分析

原理分析

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基础教程