擅长:python、mysql、java
<p>Python对函数中的变量的处理方式不同,这取决于您是从函数内部还是外部为变量赋值。如果在函数中分配了变量,则默认情况下将其视为局部变量。因此,当您取消注释该行时,您试图在为其赋值之前引用局部变量<code>c</code>。</p>
<p>如果希望变量<code>c</code>引用在函数之前分配的全局<code>c = 3</code>,请将</p>
<pre><code>global c
</code></pre>
<p>作为函数的第一行。</p>
<p>至于python 3,现在</p>
<pre><code>nonlocal c
</code></pre>
<p>可以用来引用最近的封闭函数作用域,该作用域具有<code>c</code>变量。</p>