最新公告
  • 欢迎您光临知事网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • python3顶层父类多次循环怎么办?

    之前我们又讲过循环,能够把我们节省很多重复的工具。不过在顶层父类中,这种循环重复命令不一定能带给我们想要的结果。那么,我们该如何改变这种重复执行命令的操作呢?小编最近有学到super,借用类的知识来教大家,相信小伙伴们在学类的时候也更加印象深刻了吧。

    如何避免顶层父类中的某个方法被执行多次呢,此时就需要super()来发挥作用了,super本质上是一个类,内部记录着MRO信息,由于C3算法确保同一个类只会被搜寻一次,这样就避免了顶层父类中的方法被多次执行了,比如针对钻石继承问题2中的代码可以改为:

    class A(object):
        def m(self):
            print("m of A called")
     
    class B(A):
        def m(self):
            print("m of B called")
            super().m()
     
    class C(A):
        def m(self):
            print("m of C called")
            super().m()
     
    class D(B,C):
        def m(self):
            print("m of D called")
            super().m()

    此时打印的结果就变成了:

    m of D called
    m of B called
    m of C called
    m of A called

    以上就是python3顶层父类多次执行同一个命令,我们所用到的解决办法。如果还有更好的方法,也可以跟小编一起学习交流,毕竟不是所有的循环都是我们所需要的。

    转载自:python学习网 https://www.py.cn/

    猜你在找

    找互联网优质资源,上知事网!
    知事网 » python3顶层父类多次循环怎么办?

    常见问题FAQ

    网盘提取密码在哪里?
    在网站右侧有个“文件密码”,点击复制即可!
    网站的积分如何获得?
    注册登录后,每天签到可获得2个积分,每天可签到一次!

    发表评论

    • 1265会员总数(位)
    • 666资源总数(个)
    • 4本周发布(个)
    • 1 今日发布(个)
    • 3459稳定运行(天)

    提供最优质的资源集合

    Mac软件 Dedecms源码
    升级SVIP尊享更多特权立即升级