python super函数用法
时间: 2023-07-26 07:37:18 浏览: 100
Python中super函数的用法
在 Python 中,`super()` 函数可以用于调用父类的方法。它的使用可以有两种形式:
1. `super().method()`:在子类中调用父类中的方法,这里的 `method` 是指父类中的方法名。
2. `super(subclass, object).method()`:这种方式可以用于多重继承中,指定调用哪个父类的方法,其中 `subclass` 是指子类,`object` 是指子类对象,`method` 是指父类中的方法名。
举个例子,假设有如下的类继承关系:
```
class A:
def __init__(self):
self.a = 'A'
def method(self):
print('A method')
class B(A):
def __init__(self):
super().__init__()
self.b = 'B'
def method(self):
super().method()
print('B method')
class C(A):
def __init__(self):
super().__init__()
self.c = 'C'
def method(self):
super().method()
print('C method')
class D(B, C):
def __init__(self):
super().__init__()
self.d = 'D'
def method(self):
super(D, self).method()
print('D method')
```
在子类 `B` 和 `C` 的 `method` 方法中,都调用了父类 `A` 的 `method` 方法。在子类 `D` 的 `method` 方法中,使用 `super(D, self)` 调用了 `B` 的父类 `A` 的 `method` 方法,因为 `B` 在 `D` 的继承链中排在 `C` 的前面。
使用 `super()` 函数可以简化代码,避免硬编码,提高代码灵活性。
阅读全文