super()__init__()
时间: 2024-06-17 12:02:50 浏览: 14
super()是Python内置的一个函数,它可以用来调用父类的方法。在Python中,如果我们定义了一个子类,并且这个子类继承了父类的一些属性或方法,那么我们可以使用super()来调用父类的方法,从而在子类中实现对父类方法的扩展或修改。
在使用super()时,需要注意两个参数:第一个参数是当前子类所在的类名,第二个参数是当前子类的对象。通过这两个参数,super()可以定位到子类的父类,并调用相应的方法。
而__init__()是Python中的一个特殊方法,它用来初始化对象的属性。在子类中重写__init__()时,我们通常会使用super()来调用父类的__init__()方法,以确保子类可以继承父类的属性。
例如,在以下代码中,我们定义了一个Animal类和一个Dog类,并让Dog类继承了Animal类。在Dog类的__init__()方法中,我们使用super()来调用父类Animal的__init__()方法,并传递了一个name参数,从而实现了对父类属性的扩展。
```
class Animal:
def __init__(self, name):
self.name = name
print("Animal initialized")
class Dog(Animal):
def __init__(self, name):
super().__init__(name)
print("Dog initialized")
my_dog = Dog("Buddy")
print(my_dog.name)
```
相关推荐
![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_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)