写一段带super函数的Python代码
时间: 2024-04-12 19:02:55 浏览: 16
当你在一个子类中重写父类的方法时,有时候你想保留父类方法的功能,同时添加一些额外的功能。这时候可以使用`super()`函数来调用父类的方法。下面是一个示例代码:
```python
class ParentClass:
def __init__(self, name):
self.name = name
def say_hello(self):
print(f"Hello, {self.name}!")
class ChildClass(ParentClass):
def __init__(self, name, age):
super().__init__(name) # 调用父类的初始化方法
self.age = age
def say_hello(self):
super().say_hello() # 调用父类的say_hello方法
print(f"I am {self.age} years old.")
child = ChildClass("Alice", 10)
child.say_hello()
```
这段代码定义了一个父类 `ParentClass` 和一个子类 `ChildClass`。子类继承了父类的方法 `__init__` 和 `say_hello`,并通过 `super()` 函数调用了父类的对应方法。在子类的 `say_hello` 方法中,首先调用了父类的 `say_hello` 方法,然后打印了子类自己的年龄。输出结果为:
```
Hello, Alice!
I am 10 years old.
```
这样,你就可以在子类中保留父类方法的功能,并添加自己额外的功能。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)