python繼承的原理分析
原理分析
1、子類會(huì)先于父類被檢查。多個(gè)父類會(huì)根據(jù)它們?cè)诹斜碇械捻樞虮粰z查。
2、如果對(duì)下一個(gè)類存在兩個(gè)合法的選擇,選擇第一個(gè)父類。
Python中子類可以同時(shí)繼承多個(gè)父類,如果繼承了多個(gè)父類,那么屬性的查找方式有兩種,分別是:深度優(yōu)先和廣度優(yōu)先。
實(shí)例
#-*-coding:utf-8-*-
#@Time:2019/12/2409:30
#@Author:我就是任性-Amo
#@FileName:15.新式類與經(jīng)典類.py
#@Software:PyCharm
#@Blog:
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__)#只有新式才有這個(gè)屬性可以查看線性列表,經(jīng)典類沒有這個(gè)屬性
#importinspect#使用inspect模塊中的getmro()方法可以查看python2.x的mro順序
以上就是Python繼承的原理分析,希望對(duì)大家有所幫助。更多Python學(xué)習(xí)教程請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。