Python中如何呼叫超級建構函式?

Patricia Arquette
發布: 2024-11-17 08:43:03
原創
250 人瀏覽過

How Do You Call the Super Constructor in Python?

在 Python 中呼叫超級建構函數:揭開謎底

在物件導向程式設計中,從基底類別繼承來擴充其功能是很常見的。在 Python 中,呼叫初始化基底類別的超級建構函數對於無縫類別繼承至關重要。

雖然在其他語言中,超級建構子是隱式呼叫的,但 Python 需要明確呼叫。人們普遍認為 super(self) 就足夠了,但事實並非如此。讓我們探討一下正確的做法。

在Python 3 中呼叫Super

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 中呼叫Super 2

在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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板