Python 中的 super() 函式

Python 中的 super() 函式可以讓我們在子類別中繼承父類別的屬性和方法,而不需要明確地指定父類別。它是一個非常有用的工具,可以讓我們更容易地實現多重繼承。

在 Python 中,super() 函式可以用來取得父類別的屬性和方法,而不需要明確地指定父類別。它可以讓我們更容易地實現多重繼承,並且可以讓我們更容易地擴充父類別的功能。

super() 函式的基本用法

super() 函式的基本用法是在子類別中呼叫父類別的方法:

class Parent:
    def __init__(self):
        print("Calling parent constructor")

class Child(Parent):
    def __init__(self):
        print("Calling child constructor")
        super().__init__()

c = Child()

在上面的程式碼中,我們定義了一個 Parent 類別和一個 Child 類別,Child 類別繼承自 Parent 類別。在 Child 類別的構造函式中,我們使用 super() 函式來呼叫 Parent 類別的構造函式。

當我們執行上面的程式碼時,將會得到以下的輸出:

Calling child constructor
Calling parent constructor

可以看到,super() 函式可以讓我們在子類別中呼叫父類別的方法,而不需要明確地指定父類別。

super() 函式的更多用法

除了可以用來呼叫父類別的方法之外,super() 函式還可以用來取得父類別的屬性:

class Parent:
    def __init__(self):
        self.value = "foo"

class Child(Parent):
    def __init__(self):
        super().__init__()
        print(self.value)

c = Child()

在上面的程式碼中,我們定義了一個 Parent 類別和一個 Child 類別,Child 類別繼承自 Parent 類別。在 Child 類別的構造函式中,我們使用 super() 函式來取得 Parent 類別的 value 屬性,並將其輸出到控制台。

當我們執行上面的程式碼時,將會得到以下的輸出:

foo

可以看到,super() 函式可以讓我們在子類別中取得父類別的屬性,而不需要明確地指定父類別。

總結

在本文中,我們討論了 Python 中的 super() 函式,它可以讓我們在子類別中繼承父類別的屬性和方法,而不需要明確地指定父類別。它是一個非常有用的工具,可以讓我們更容易地實現多重繼承,並且可以讓我們更容易地擴充父類別的功能。

Categorized in:

Tagged in: