在物件導向程式設計中,從基底類別繼承來擴充其功能是很常見的。在 Python 中,呼叫初始化基底類別的超級建構函數對於無縫類別繼承至關重要。
雖然在其他語言中,超級建構子是隱式呼叫的,但 Python 需要明確呼叫。人們普遍認為 super(self) 就足夠了,但事實並非如此。讓我們探討一下正確的做法。
Python 3 引入了呼叫super 建構子的簡化方法:
class A(object): def __init__(self): print("world") class B(A): def __init__(self): print("hello") super().__init__() # Python 3 syntax
這裡,後面是super()透過__init__( ) 明確呼叫super 建構函數。
在Python 2 中,需要稍微更詳細的語法:
class A(object): def __init__(self): print "world" class B(A): def __init__(self): print "hello" super(B, self).__init__() # Python 2 syntax
這裡, super 傳遞了類別名稱B 和self 來引用目前實例。
掌握超級建構子的正確呼叫在Python中至關重要。了解 Python 2 和 3 中語法的差異可確保無縫繼承並防止程式碼中出現意外行為。
以上是Python中如何呼叫超級建構函式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!