【发布时间】:2019-05-29 12:47:49
【问题描述】:
我得到了这个代码:
class A:
pass
class B(A):
pass
class C(A):
pass
class D(A,B):
pass
d = D()
在 Python3 中,我得到一个 MRO 错误。我的意思是它的出现是因为钻石问题。在 Python2 中没问题。为什么会这样,这个钻石问题到底是什么?
【问题讨论】:
-
因为python 3比2好! :P 你实际上可以点击你用来阅读钻石问题的标签。
-
在 Python 2 中,
A是一个老式类,并且没有(正式的)此类类的 MRO 概念。未应用产生 MRO 误差的 C3 线性化算法。
标签: python python-3.x python-2.7 diamond-problem