python3的多级继承失效排查
时间: 2018-09-12来源:OSCHINA
前景提要
「深度学习福利」大神带你进阶工程师,立即查看>>>
假设有下面的代码: class A(object): def p(self): print("A") class B(A): def p(self): print("B") super().p() class C(B): def p(self): print("C") super().p() class D(C): def p(self): print("D") super().p() class E(D): def p(self): print("E") super().p() c = E() c.p()
正常应该显示: E D C B A
但实际跳过了几个类,显示: E D A
经过排查发现在 D 中使用了下面的语句: super(B, self).p()
指定了父类,从而直接跳过了 C 和 B.
当然实际代码比这个要复杂,所以在一定程度上隐藏了问题.

科技资讯:

科技学院:

科技百科:

科技书籍:

网站大全:

软件大全:

热门排行