擅长:python、mysql、java
<p>你的子类应该是:</p>
<pre><code>class TypeTwoEvent(Event):
def __init__(self, level=None, *args, **kwargs):
super(TypeTwoEvent, self).__init__(*args, **kwargs)
self.sr1 = level
self.state = STATE_EVENT_TWO
</code></pre>
<p>因为您重写了<code>__init__</code>方法,所以如果希望发生父行为,则需要调用父方法。</p>
<p>记住,<code>__init__</code>不是一个特殊的方法,它的名字很奇怪。它只是对象创建后自动调用的方法。否则它是一个普通的方法,并且应用普通的继承规则。</p>
<pre><code>super(ClassName, self).__init__(arguments, that, goes, to, parents)
</code></pre>
<p>是调用该方法的父版本的语法。</p>
<p>对于<code>*args</code>和<code>**kwargs</code>,它只是确保我们捕获传递给<code>__init__</code>的所有附加参数并将其传递给父方法,因为您的子方法签名没有这样做,父方法需要这些参数才能工作。</p>