python super的用法·
时间: 2023-10-16 15:10:48 浏览: 82
python super函数使用方法详解
5星 · 资源好评率100%
在Python中,`super()`是一个内置函数,它用于调用父类的方法。它常用于子类中重写父类的方法时,在子类方法中调用父类的同名方法。
`super()`函数的一般用法是在子类方法中使用`super().__init__()`来调用父类的构造函数,确保子类对象能够继承父类的属性和方法。例如:
```python
class ParentClass:
def __init__(self):
self.parent_attribute = "Parent attribute"
def parent_method(self):
print("Parent method")
class ChildClass(ParentClass):
def __init__(self):
super().__init__() # 调用父类的构造函数
self.child_attribute = "Child attribute"
def child_method(self):
super().parent_method() # 调用父类的方法
print("Child method")
child_obj = ChildClass()
print(child_obj.parent_attribute) # 输出:Parent attribute
child_obj.child_method() # 输出:Parent method Child method
```
在上述例子中,`ChildClass`是`ParentClass`的子类。当创建`ChildClass`对象时,`super().__init__()`调用了父类的构造函数,使得子类对象能够继承父类的属性`parent_attribute`。同时,`super().parent_method()`调用了父类的方法`parent_method()`,在子类方法`child_method()`中实现了对父类方法的扩展。
需要注意的是,`super()`函数只能在新式类(继承自`object`)中使用,而在旧式类中使用`super()`会报错。此外,`super()`函数还可以用于多重继承场景中,用于解决方法解析顺序(MRO)的问题。
阅读全文