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