擅长:python、mysql、java
<p>for循环是其声明范围的一部分,因此下面的代码将更改<code>x</code>的值:</p>
<pre><code>x = 9
for x in xrange(3): # iterate 0, 1, 2
print(x)
print(x) # x == 2, x != 9
</code></pre>
<p>当元素是<code>"baz"</code>时,一切正常,print语句工作正常。Python随后继续执行。下一步是<code>x = 4</code>。之后,<code>print "Hallo" + x</code>失败并出现错误</p>
<p>运行解释器时,捕获并打印错误,然后继续执行。解释器中出现错误后没有清理,因此检查值时,<code>x</code>的最后一个值仍然存在。这就是为什么你会看到4</p>