擅长:python、mysql、java
<p>通过<code>super</code>调用不会调用所有父级,而是调用MRO链中的下一个函数。要使其正常工作,您需要在所有<code>__init__</code>中使用<code>super</code>:</p>
<pre><code>class Parent1(object):
def __init__(self):
super(Parent1, self).__init__()
self.var1 = 1
class Parent2(object):
def __init__(self):
super(Parent2, self).__init__()
self.var2 = 2
class Child(Parent1, Parent2):
def __init__(self):
super(Child, self).__init__()
</code></pre>
<p>在Python 3中,可以使用<code>super()</code>,而不是<code>super(type, instance)</code>。</p>