這篇文章將為大家詳細(xì)講解有關(guān)python3頂層父類(lèi)多次循環(huán)的解決方法,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),石龍企業(yè)網(wǎng)站建設(shè),石龍品牌網(wǎng)站建設(shè),網(wǎng)站定制,石龍網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,石龍網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M(mǎn)足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專(zhuān)業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶(hù)成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。如何避免頂層父類(lèi)中的某個(gè)方法被執(zhí)行多次呢,此時(shí)就需要super()來(lái)發(fā)揮作用了,super本質(zhì)上是一個(gè)類(lèi),內(nèi)部記錄著MRO信息,由于C3算法確保同一個(gè)類(lèi)只會(huì)被搜尋一次,這樣就避免了頂層父類(lèi)中的方法被多次執(zhí)行了,比如針對(duì)鉆石繼承問(wèn)題2中的代碼可以改為:
class A(object): def m(self): print("m of A called") class B(A): def m(self): print("m of B called") super().m() class C(A): def m(self): print("m of C called") super().m() class D(B,C): def m(self): print("m of D called") super().m()
此時(shí)打印的結(jié)果就變成了:
m of D called m of B called m of C called m of A called
關(guān)于python3頂層父類(lèi)多次循環(huán)的解決方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。