前言
super() 函數是用于調用父類(超類)的一個方法。
super() 是用來解決多重繼承問題的,直接用類名調用父類方法在使用單繼承的時候沒問題,但是如果使用多繼承,會涉及到查找順序(MRO)、重複調用(鑽石繼承)等種種問題。【MRO 就是類的方法解析順序表, 其實也就是繼承父類方法時的順序表。】
文法
參數:
type:類
object-or-type:類,一般是 self。
Python3.x 和 Python2.x 的差別
Python 3 可以使用直接使用 super().xxx代替 super(Class, self).xxx :
Python3.x 執行個體:
Python2.x 執行個體:
python中super().__init__()
簡單的說super().init(),就是繼承父類的init方法,同樣可以使用super()去繼承其他方法。

最底層:先寫一個父類A
第二層:讓 B、C、D 繼承自A
第三層: E、F、G 繼承自B、C、D
看看G的繼承順序:
我們發現G繼承自E, F是并列的,初始化的時候不會先把E初始化完畢才初始化F。
去期待陌生,去擁抱驚喜。