<p>Python对于其<code>if/else</code>语句是否有一个<code>finally</code>等价物,类似于其<code>try/except/finally</code>语句?我们可以简化这一点:</p>
<pre><code> if condition1:
do stuff
clean up
elif condition2:
do stuff
clean up
elif condition3:
do stuff
clean up
...
...
</code></pre>
<p>对此:</p>
<pre><code> if condition1:
do stuff
elif condition2:
do stuff
elif condition3:
do stuff
...
...
finally:
clean up
</code></pre>
<p>其中<code>finally</code>只有在满足条件并运行其“do stuff”之后才会调用?相反,如果不满足任何条件,则<code>finally</code>代码将不会运行。</p>
<p>我不喜欢说亵渎神明的话,但我能描述它的最好方式是在导致<code>finally</code>的每个“做事情”块的末尾都有一个<code>GOTO</code>语句。</p>
<p>本质上,它与<code>else</code>语句相反。虽然<code>else</code>仅在不满足其他条件时运行,但只有在满足其他条件时才会运行。</p>