擅长:python、mysql、java
<p>考虑这个电话:</p>
<pre><code>class B(A):
def __init__(self):
A.__init__(self)
</code></pre>
<p>这就是当您调用<code>super().__init__()</code>时发生的情况。这反过来又调用<code>self.a()</code>,这当然是类<code>B</code>的函数<code>a</code>,而不是<code>A</code>,因为<code>self</code>是类<code>B</code>。正如Martijn所说,您可以使用双下划线名称,或者显式地使用类名,但否则就不可能从超类调用重写的方法。</p>