zoukankan      html  css  js  c++  java
  • 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总能找到它父类所对应的函数。

  • 相关阅读:
    冒泡排序
    快速排序
    玩转git版本控制软件
    django内容总结
    ajax图片上传功能
    随机验证码
    制作博客系统
    django自带的用户认证和form表单功能
    COOKIE 与 SESSION
    Ajax知识
  • 原文地址:https://www.cnblogs.com/paomaliuju/p/5117489.html
Copyright © 2011-2022 走看看