参考https://www.runoob.com/python/python-func-super.html
python中的super()方法主要用于子类引用父类方法,因为这样做可以提高代码的复用性
#!/usr/bin/env python
# -*- coding=utf-8 -*-
#用于测试类继承的super()方法
class A(object):
"""
父类
"""
def __init__(self,a,b):
self.a = a
self.b = b
def add(self):
return self.a + self.b
class B(A):
"""
子类
"""
def __init__(self,a,b):
super(B,self).__init__(a,b)
def __call__(self):
return super(B,self).add()
if __name__ == "__main__":
b_test = B(1,2)
print(b_test())
查看以上我的练习代码,我们可以通过super(B,self)的方式来引用class B的父类,并借此来使用父类的方法,那么这里问题来了,要是多重继承,每个父类里面存在一个相同的方法,那么此时调用super()方法会发生什么事情呢,这一点请查阅如下博客
https://www.cnblogs.com/miyauchi-renge/p/10923127.html 其中对多继承时使用super()方法做了比较详尽的介绍。