python中super()
时间: 2023-11-06 10:57:09 浏览: 100
在Python中,`super()`是一个内置函数,用于调用父类的方法。它常用于子类的构造函数中,以便在子类中扩展父类的行为。
使用`super()`函数可以调用父类的方法,并使用子类的实例作为参数。这样可以确保在子类中扩展父类方法的同时,仍然保留了父类原有的行为。
下面是一个示例,演示了如何在子类中使用`super()`调用父类的构造函数:
```python
class Parent:
def __init__(self, name):
self.name = name
def greet(self):
print(f"Hello, {self.name}!")
class Child(Parent):
def __init__(self, name, age):
super().__init__(name)
self.age = age
def greet(self):
super().greet()
print(f"You are {self.age} years old.")
child = Child("Alice", 10)
child.greet()
```
在这个示例中,`Parent`是父类,`Child`是子类。在子类的构造函数中,使用`super().__init__(name)`调用了父类的构造函数,以便初始化父类中的属性。然后,在子类的`greet()`方法中,使用`super().greet()`调用了父类的`greet()`方法,以便扩展父类方法的行为。
执行上述代码,输出将是:
```
Hello, Alice!
You are 10 years old.
```
通过使用`super()`函数,子类可以调用父类的方法,实现方法的继承和扩展。这样可以有效地重用父类的代码,并在子类中添加特定的行为。
阅读全文