共計 803 個字符,預(yù)計需要花費 3 分鐘才能閱讀完成。
在 Python 中,super()
是一個內(nèi)置函數(shù),用于調(diào)用父類的方法。它通常用于子類的構(gòu)造函數(shù)中,以便在子類中調(diào)用父類的構(gòu)造函數(shù)來初始化父類的屬性。
使用 super()
時,可以在子類中調(diào)用父類的方法,也可以在子類中調(diào)用父類的屬性。它的常見用法有以下兩種:
- 調(diào)用父類的構(gòu)造函數(shù):在子類的構(gòu)造函數(shù)中使用
super().__init__()
來調(diào)用父類的構(gòu)造函數(shù),以便初始化父類的屬性。這樣可以避免代碼重復(fù),并確保父類的初始化邏輯被正確執(zhí)行。
class Parent:
def __init__(self, name):
self.name = name
class Child(Parent):
def __init__(self, name, age):
super().__init__(name) # 調(diào)用父類的構(gòu)造函數(shù)
self.age = age
child = Child("Alice", 10)
print(child.name) # 輸出:Alice
print(child.age) # 輸出:10
- 調(diào)用父類的方法:在子類中使用
super().method()
來調(diào)用父類的方法。這樣可以繼承父類的行為,并在子類中添加特定的邏輯。
class Parent:
def greet(self):
print("Hello from Parent")
class Child(Parent):
def greet(self):
super().greet() # 調(diào)用父類的方法
print("Hello from Child")
child = Child()
child.greet() # 輸出:Hello from Parent Hello from Child
需要注意的是,super()
并不是必須使用的,特別是在單繼承的情況下。在這種情況下,直接通過父類的類名調(diào)用方法即可。但當存在多繼承時,使用 super()
可以確保方法調(diào)用的順序遵循類的繼承順序,避免出現(xiàn)不可預(yù)期的錯誤。
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!
正文完