python super的用法是甚么
在Python中,super()
是一个内置函数,用于调用父类的方法。它通经常使用于子类的构造函数中,以便在子类中调用父类的构造函数来初始化父类的属性。
使用super()
时,可以在子类中调用父类的方法,也能够在子类中调用父类的属性。它的常见用法有以下两种:
super().__init__()
来调用父类的构造函数,以便初始化父类的属性。这样可以免代码重复,并确保父类的初始化逻辑被正确履行。class Parent:
def __init__(self, name):
self.name = name
class Child(Parent):
def __init__(self, name, age):
super().__init__(name) # 调用父类的构造函数
self.age = age
child = Child("Alice", 10)
print(child.name) # 输出:Alice
print(child.age) # 输出:10
super().method()
来调用父类的方法。这样可以继承父类的行动,并在子类中添加特定的逻辑。class Parent:
def greet(self):
print("Hello from Parent")
class Child(Parent):
def greet(self):
super().greet() # 调用父类的方法
print("Hello from Child")
child = Child()
child.greet() # 输出:Hello from Parent Hello from Child
需要注意的是,super()
其实不是一定要使用的,特别是在单继承的情况下。在这类情况下,直接通过父类的类名调用方法便可。但当存在多继承时,使用super()
可以确保方法调用的顺序遵守类的继承顺序,避免出现不可预期的毛病。
TOP