擅长:python、mysql、java
<blockquote>
<p>My understanding is that Python is effectively interpreted line by line</p>
</blockquote>
<p>那就是你错的地方。在任何解释开始之前,整个文件都被编译成字节码。你知道吗</p>
<p>而且,即使字节码编译过程不存在,<code>print(a + 2)</code>也不会在看到<code>a = 7</code>之前执行,因为它在函数定义中。Python在实际尝试执行<code>print(a + 2)</code>时仍然知道<code>a = 7</code>。你知道吗</p>