python 中类继承的super()方法

参考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()方法做了比较详尽的介绍。

你可能感兴趣的:(Python)