python繼承__init__函數


Python子類會把父類的構造函數也繼承,特意記錄一下,跟java不一樣,java如果子類不寫構造函數,會生成一個默認的無參構造函數,隱式調用父類的無參構造函數

【1】Python中如果子類有自己的構造函數,不會自動調用父類的構造函數,如果需要用到父類的構造函數,則需要在子類的構造函數中顯式的調用。

【2】如果子類沒有自己的構造函數,則會直接從父類繼承構造函數,這在單繼承(一個子類只從一個父類派生)中沒有任何理解上的問題。

     問題:如果是多繼承的情況,一個子類從多個父類派生,而子類又沒有自己的構造函數,則子類默認會繼承哪個父類的構造函數。

【3】子類從多個父類派生,而子類又沒有自己的構造函數時,

(1)按順序繼承,哪個父類在最前面且它又有自己的構造函數,就繼承它的構造函數;

(2)如果最前面第一個父類沒有構造函數,則繼承第2個的構造函數,第2個沒有的話,再往后找,以此類推。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM