super()
时间: 2023-06-22 13:26:55 浏览: 40
`super()`是Python中的一个内置函数,用于在子类中调用父类的方法。它可以用来调用父类的构造函数、普通方法或静态方法。
在Python中,当我们创建一个子类时,它会自动继承父类中的所有方法和属性。如果子类需要重写父类中的方法,但又需要保留父类中的某些功能,则可以使用`super()`函数来调用父类中的方法。
`super()`函数的语法如下:
```python
super([type[, object-or-type]])
```
其中,`type`表示当前类的类型,`object-or-type`表示当前类的实例或类型。如果省略`type`和`object-or-type`参数,则`super()`函数返回一个代理对象,该对象可以用于调用父类中的方法。
以下是一个使用`super()`函数调用父类方法的示例代码:
```python
class Parent:
def __init__(self, name):
self.name = name
def print_name(self):
print(self.name)
class Child(Parent):
def __init__(self, name, age):
super().__init__(name)
self.age = age
def print_age(self):
print(self.age)
c = Child("Tom", 10)
c.print_name()
c.print_age()
```
在上面的代码中,我们定义了一个`Parent`类和一个`Child`类,`Child`类继承自`Parent`类。在`Child`类中,我们重写了`__init__`方法,并使用`super()`函数调用了父类中的`__init__`方法,以保留父类中的功能。当我们创建`Child`类的实例时,`__init__`方法会自动调用父类中的`__init__`方法,从而完成父类中的初始化工作。
相关推荐
![](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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)