首先什么情况下会用到super()函数
在定义类的时候,需要继承并调用基类属性,方法使选择调用super()函数
继承分为单继承和多继承
首先单继承的情况,此时为满足需要有两种选择
- 调用未绑定的父类构造方法(也就是直接明确指出要继承的属性)
Father.__init__(self) # 为用法
2.使用super()函数
有两种写法,python3 中简化了代码
2-1首先是原来的写法
super(本类名, slef).method()
2-2 为python3简化代码后的写法
这两种方法是等价的
接着多继承的情况
同时继承两个父类,可以使用super()来达到调用父类中属性,方法的目的
class A():
def __init__(self):
print('A')
class B():
def __init__(self):
print('B')
def pr(self):
print('B->')
class C(A, B):
def __init__(self):
super(C, self).__init__()
print('C')
def pr(self):
print('C->')
super().pr()