十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
python中多繼承的查找順序是什么?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
10多年的正寧網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。營銷型網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整正寧建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)建站從事“正寧網(wǎng)站設(shè)計(jì)”,“正寧網(wǎng)站推廣”以來,每個客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
Python是一種編程語言,內(nèi)置了許多有效的工具,Python幾乎無所不能,該語言通俗易懂、容易入門、功能強(qiáng)大,在許多領(lǐng)域中都有廣泛的應(yīng)用,例如最熱門的大數(shù)據(jù)分析,人工智能,Web開發(fā)等。
1、查找順序
(1)本地優(yōu)先,自己定義或重寫的方法優(yōu)先。本地沒有的,按照繼承列表,從左往右查找;
(2)單調(diào)性,所有子類,也要滿足查找順序。也就是說 A 繼承 B C,A 會先找 B 再找 C。但是在 A 查找之前,B 如果有多個繼承,那么它先得按查找順序查找。
2、實(shí)例
如果定義一個多繼承的類,如果不能滿足 MRO 的話,會拋出 MRO 的異常。
class A: pass class E(A): pass class F(A, E): pass >>> F() Traceback (most recent call last): File "/usr/local/python3/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2862, in run_code exec(code_obj, self.user_global_ns, self.user_ns) File "", line 7, in class F(A, E): TypeError: Cannot create a consistent method resolution order (MRO) for bases A, E # 拋出 MRO 異常,原因下面講
MRO 是可以看到的,因?yàn)轭愔写嬖谶@個屬性。
>>> A.__mro__ Out[10]: (__main__.A, object) >>> E.__mro__ Out[11]: (__main__.E, __main__.A, object) # 再定義一個 G class G(E, A): pass >>> G.__mro__ Out[17]: (__main__.G, __main__.E, __main__.A, object)
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。