您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關python3頂層父類多次循環的解決方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
如何避免頂層父類中的某個方法被執行多次呢,此時就需要super()來發揮作用了,super本質上是一個類,內部記錄著MRO信息,由于C3算法確保同一個類只會被搜尋一次,這樣就避免了頂層父類中的方法被多次執行了,比如針對鉆石繼承問題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()
此時打印的結果就變成了:
m of D called m of B called m of C called m of A called
關于python3頂層父類多次循環的解決方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。