首先什么情况下会用到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()


本文深入解析super()函数在Python类继承中的应用,包括单继承和多继承场景下如何调用父类方法,以及Python3中代码的简化写法。

1509

被折叠的 条评论
为什么被折叠?



