想請問這段程式碼的運行,因為書解釋方式我可能不太了解。 程式碼如下: class a(): def __init__(self): super().__init__() print("我是a") class ... ... <看更多>
python多重繼承super 在 【DinTer】對方投降前還要先戲耍一下特哥.. #shorts - YouTube 的必吃

加入我的頻道會員 / @dinterlolz 更多丁特More DinTer … Show more ... 曾博恩Brian Tseng【Diss-chord】炎上謝和弦[ Super House] 2023.01.14. ... <看更多>
python多重繼承super 在 [問題] 關於多重繼承與super的呼叫問題- 看板Python 的必吃
Os環境:Win7
Py版本: 3.8.10
請看一下以下的程式碼:
#--------------------------------
class a:
def __init__(self):
print("init of a!!")
class b:
def __init__(self):
print("init of b!!")
class c:
def __init__(self):
print("init of c!!")
class d(a,b,c):
def __init__(self):
print("enter d!!")
super().__init__()
super(a, self).__init__()
super(b, self).__init__()
super(c, self).__init__()
print("d end!!")
d_o = d()
#-------------------------------
輸出:
enter d!!
init of a!! <-- super().__init__() 的結果
init of b!! <-- super(a, self).__init__() 的結果
init of c!! <-- super(b, self).__init__() 的結果
d end!!
這結果想不通,經過交叉確認後,
發現是 super(c, self).__init__() 這行沒輸出。
請問不能指定執行哪個父類別的建構式(__init__)嗎?
而且指定父類別後,還會往繼承順序後方後跳一個?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.243.134.206 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1648020979.A.221.html
... <看更多>