super顺序

super顺序,第1张

概述classS():defgo(self):print("gosgo!")defstop(self):print("stopAstop!")classA():defgo(self):print("goAgo!")defstop(self):print("stopAstop!")
class S():    def go(self):        print ("go s go!")    def stop(self):        print ("stop A stop!")class A():    def go(self):        print ("go A go!")    def stop(self):        print ("stop A stop!")    # def pause(self):        # raise Exception("Not Implemented")class B(A):    def go(self):        print("开始了B!")        super(B, self).go()        print ("go B go!")class C(A):    def go(self):        print("开始了C!")        super(C, self).go()        print ("go C go!")    def stop(self):        super(C, self).stop()        print ("stop C stop!")class D(B,C):    def go(self):        print('D开始了 啊  啊')        super(D, self).go()        print ("go D go!")    def stop(self):        super(D, self).stop()        print ("stop D stop!")    def pause(self):        print ("wait D wait!")class E(B,C):    passa = A()b = B()c = C()d = D()e = E()# 说明下列代码的输出结果b.go()输出:开始了B!go A go!go B go!print('---b.go-----')print('---c.go-----')c.go()输出:开始了C!go A go!go C go!print('---d.go 开始-----')d.go()输出:D开始了 啊  啊开始了B!开始了C!go A go!go C go!go B go!go D go!print(D.mro())输出: [<class '__main__.D'>, <class '__main__.B'>, <class '__main__.C'>, <class '__main__.A'>, <class 'object'>]print('---d.go 结束----')e.go()开始了B!开始了C!go A go!go C go!go B go!print(E.mro())[<class '__main__.E'>, <class '__main__.B'>, <class '__main__.C'>, <class '__main__.A'>, <class 'object'>]print('----v.stop----')c.stop()输出: stop A stop!stop C stop!
总结

以上是内存溢出为你收集整理的super顺序全部内容,希望文章能够帮你解决super顺序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1235628.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存