温馨提示×

python super的用法是什么

小亿
92
2023-09-28 02:38:41
栏目: 编程语言

在Python中,super()是一个内置函数,用于调用父类的方法。它通常用于子类的构造函数中,以便在子类中调用父类的构造函数来初始化父类的属性。

使用super()时,可以在子类中调用父类的方法,也可以在子类中调用父类的属性。它的常见用法有以下两种:

  1. 调用父类的构造函数:在子类的构造函数中使用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
  1. 调用父类的方法:在子类中使用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()可以确保方法调用的顺序遵循类的继承顺序,避免出现不可预期的错误。

0