擅长:python、mysql、java
<p>当且仅当<code>CharacterStats.usesSubStats</code>为真且<code>key in self.subStats</code>为假时,您可以结束在标记为<code>otherwise we end up right here</code>的行上。你知道吗</p>
<p>当您将<code>elif</code>更改为<code>if</code>时,就消除了这种可能性:代码永远无法到达<code>otherwise we end up right here</code>行。你知道吗</p>
<p>很难说这两个版本中哪一个是正确的。如果我猜对了你的意图,也许下面的两种方法都会更清楚:</p>
<pre><code> def __getitem__(self, key):
if CharacterStats.usesSubStats:
if key in self.subStats:
return self.subStats[key]
elif key in self.stats:
return self.stats[key]
raise KeyError(key)
</code></pre>