擅长:python、mysql、java
<p>与其说这是一个可变/不变的问题,不如说是范围问题。在</p>
<p>“b”只存在于fun1和fun2体中。它不在主要或全局范围内(至少是有意的)</p>
<p>编辑</p>
<pre><code>>>> def fun1(b):
... b = b + 1
... return b
...
>>> def fun2(a):
... b = 1
... return b
...
>>> fun1(5)
6
>>> fun2(b)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'b' is not defined
</code></pre>
<p>(来自航站楼的翻译)</p>
<p>我猜你的“b”是在别的地方初始化的。在另一个函数中发生的事情对这个没有影响。在</p>
<p>这是我在运行你的密码:</p>
^{pr2}$