首頁 > 後端開發 > Python教學 > Python繼承如何呼叫父類別方法?

Python繼承如何呼叫父類別方法?

Susan Sarandon
發布: 2024-11-27 04:04:10
原創
517 人瀏覽過

How Do I Call Parent Class Methods in Python Inheritance?

在Python 中呼叫父類別方法

Python 的繼承機制允許衍生類別存取基底類別方法,但與Perl 或Java 不同的是,它不支援衍生類別存取基類方法。不要提供像“super”這樣的關鍵字。相反,您需要明確引用父類。

範例:

考慮以下範例,其中Bar 類別擴充了Foo 類別:

class Foo:
    def frotz(self):
        return "Bamf"

class Bar(Foo):
    def frotz(self):
        # Attempt to explicitly call the parent class 'frotz' method
        return Foo.frotz(self)
登入後複製

這種方式需要明確指定父類,不方便深入

解決方案:使用'super()'函數

Python 2.2 及更高版本引入了super() 函數,它提供了更優雅的解決方案:

class Bar(Foo):
    def frotz(self):
        # Now calling 'frotz' using the 'super()' function
        return super().frotz()
登入後複製

super() 函數根據派生類別中的上下文智慧地決定要繼承的父類別。這消除了明確指定父類別的需要。

對於Python

對於Python

class Foo(object):
    def baz(self):
        pass

class Bar(Foo):
    def baz(self, arg):
        return super(Bar, self).baz(arg)  # Explicitly specifying 'Bar' as parent
登入後複製

對於Python

3:

對於Python 3: 3 之前的Python版本,您必須明確選擇使用新式類別:物件基底類別用於啟用 new-樣式類別語法。 因此,在 Python 中,可以使用「super()」函數(首選)或透過明確引用父類別(僅適用於 Python

以上是Python繼承如何呼叫父類別方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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