python面向对象super的用法
时间: 2024-01-04 15:17:34 浏览: 72
在Python中,super()函数用于调用父类的方法。它可以用于单继承和多继承的情况下。super()函数的语法如下:
```python
super([type[, object-or-type]])
```
其中,type是类名,object-or-type是类的对象或者是类名。如果省略了object-or-type,则默认为当前类的实例。
使用super()函数调用父类的方法有两种方式:
1. 直接使用super()函数调用父类的方法,不需要指定父类的类名,如下所示:
```python
class Animal:
def __init__(self, name):
self.name = name
class Dog(Animal):
def __init__(self):
super().__init__("dog")
print("dog")
dog = Dog()
print(dog.__dict__)
print(dog.name)
```
输出:
```
dog
{'name': 'dog'}
dog
```
2. 使用super()函数调用父类的方法时,需要指定父类的类名,如下所示:
```python
class Animal:
def __init__(self, name):
self.name = name
class Dog(Animal):
def __init__(self):
super(Dog, self).__init__("dog")
print("dog")
dog = Dog()
print(dog.__dict__)
print(dog.name)
```
输出:
```
dog
{'name': 'dog'}
dog
```
阅读全文