super方法做了什么?

class A:
    def __init__(self):
        print ("A")

class B(A):
    def __init__(self):
        print ("B")
        super().__init__()

class C(A):
    def __init__(self):
        print ("C")
        super().__init__()
        
class D(B, C):
    def __init__(self):
        print ("D")
        super(D, self).__init__()

if __name__ == "__main__":
    print(D.__mro__)
    d = D()

super方法,可以执行父类中的方法
在子类继承多类的情况下,遵循mro算法,顺序关系见执行结果

(<class '__main__.D'>, <class '__main__.B'>, <class '__main__.C'>, <class '__main__.A'>, <class 'object'>)
D
B
C
A
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 调研方法论:一切调研在现场 调研是找方法,找启发,不是找依据 谁能以一个调研报告为依据,就放心大胆的决策呢?如果调...
    欧阳俊修2019阅读 149评论 0 1
  • 坐上地铁犹豫着要不要开始正念,可就在犹豫了几分钟,15分钟正念被迫分割成了几段。 关注呼吸似乎比之前容易一些,今天...
    安静安静一下阅读 362评论 0 0
  • 就算改变不了生命的长度 那也可以试着改变生命的宽度 只要别错过每天的早餐 把自己吃胖点还是很容易滴
    花涧词阅读 281评论 0 0
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 7,769评论 16 22
  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    余生动听阅读 10,762评论 0 11

友情链接更多精彩内容