我在理解 python 的 mro(方法解析顺序)时遇到了一些麻烦。Python 从左到右运行。因此,根据我的理解,调用 M 的顺序应该是。M、B、A、Z、X、Y
class X: pass
class Y: pass
class Z: pass
class A(X,Y): pass
class B(Y,Z): pass
class M(B,A,Z): pass
print(M.mro())
但正确的调用顺序是。
[<class '__main__.M'>,
<class '__main__.B'>,
<class '__main__.A'>,
<class '__main__.X'>,
<class '__main__.Y'>,
<class '__main__.Z'>,
<class 'object'>]
任何人都可以解释订购并帮助我理解这一点。谢谢