<div class="gmail_quote"><div>&lt;snip&gt; </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">
</div>The problem of the MRO isn&#39;t that it doesn&#39;t work, it&#39;s that it causes<br>
behavior that is unintuitive. In my example, We would expect D.x to be<br>
equal to C.x (since D inherits from C, and C overrides the x method).<br>
However, this is not the case. This is what the problem is with the<br>
old MRO system, not so much that it doesn&#39;t work at all, but the<br>
results aren&#39;t consistent with what you&#39;d expect from multiple<br>
inheritance.<br>
<br></blockquote><div><br></div><div>I tried your example in python2.6</div><div><br></div><div>&gt;&gt;&gt; class A:</div><div>...    def x(self): return &quot;in A&quot;</div><div>... </div><div>&gt;&gt;&gt; class B(A): pass</div>

<div>... </div><div>&gt;&gt;&gt; class C(A):</div><div>...    def x(self): return &quot;in C&quot;</div><div>... </div><div>&gt;&gt;&gt; class D(B, C): pass</div><div>... </div><div>&gt;&gt;&gt; o = D()</div><div>&gt;&gt;&gt; o.x()</div>

<div>&#39;in A&#39;</div><div><br></div><div>If MRO was in python2.3, the output of o.x() should be &#39;in C&#39;. It works fine on 3.2alpha though.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">


I just found this link, where Guido explains why he changed the MRO<br>
system for new-style classes. He uses the same example I do.<br>
<br>
<a href="http://www.python.org/download/releases/2.2.2/descrintro/#mro" target="_blank">http://www.python.org/download/releases/2.2.2/descrintro/#mro</a><br>
<font color="#888888"><br></font></blockquote><div><br></div><div>This was the only useful link I found upon googling.</div><div>Thanks for your effort though.</div></div><br>