python super的用法是什么

avatar
作者
猴君
阅读量:0

在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()可以确保方法调用的顺序遵循类的继承顺序,避免出现不可预期的错误。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!