super相关的介绍文章有很多,而且在python中使用得也较多,尤其是在定义深度神经网络模型时,相信大家对于 super(className, self).__init__() 这一语句不会感到陌生。本篇文章主要记录我对super的理解,给大家以尽量简单易懂的方式进行介绍。
一、直观的理解
super的作用就是执行父类的方法
以单继承为例:
class A:
def a(self):
print('A')
class B(A):
def b(self):
super().a()
B().a()
>>> A
可以看到B().a()实质上执行的是A.a
二、怎样辨别多继承情况
MRO 序列:记录了各个类继承的先后顺序
MRO 的介绍可以查看这篇文章:Python3-cookbook MRO
只要知道