擅长:python、mysql、java
<p>使用<code>__mro__</code>属性:</p>
<pre class="lang-py prettyprint-override"><code>>>> class A:
... pass
...
>>> class B:
... pass
...
>>> class C(A, B):
... pass
...
>>> C.__mro__
(<class '__main__.C'>, <class '__main__.A'>, <class '__main__.B'>, <class 'object'>)
</code></pre>
<p>这是在类实例化时填充的<a href="https://docs.python.org/3/library/stdtypes.html#special-attributes" rel="nofollow noreferrer">special attribute</a>:</p>
<blockquote>
<p><code>class.__mro__</code> This attribute is a tuple of classes that are
considered when looking for base classes during method resolution.</p>
<p><code>class.mro()</code> This method can be overridden by a metaclass to
customize the method resolution order for its instances. It is called
at class instantiation, and its result is stored in <code>__mro__</code>.</p>
</blockquote>