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() 函式,它可以讓我們在子類別中繼承父類別的屬性和方法,而不需要明確地指定父類別。它是一個非常有用的工具,可以讓我們更容易地實現多重繼承,並且可以讓我們更容易地擴充父類別的功能。