Python关于super()函数的理解

看下面的例子:

class A:
    def __init__(self, name):
        self.name = name
    def bb(self):
        print('没事就爱瞎BB')

class B(A):
    pass

class C(B):
    pass

class D(C):
    pass

class E(D):
    def bb(self):
        print('父类的bb函数执行结果是:')
        super().bb()  # bb函数中没有self参数哦

e = E('e')
e.bb()

结果:

父类的bb函数执行结果是:
没事就爱瞎BB

注释:E类有个bb函数,虽然它的直接继承父类D类没有任何属性和方法,但是D类却是继承了C类,C类又是B类的继承者,同理,B又继承了A类,而A类中也有个bb函数。因此,E类的bb函数要覆盖其超类的bb函数,想要使用其父类的bb函数,E类就使用了super()。这里使用super()有个好处,就是不管这个类的继承层次有多少,Python总能找到它父类所对应的函数。

转载于:https://www.cnblogs.com/paomaliuju/p/5117489.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值