这是我在python shell中编写的代码
>>> n1=6
>>> def demo1(n):
return n1+n
>>> def demo2(n):
n1+=n
return n1
现在我执行以下
>>>demo1(4)
>>>10
>>>demo2(4)
Traceback (most recent call last):
File "<pyshell#26>", line 1, in <module>
demo2(4)
File "<pyshell#24>", line 2, in demo2
n1+=n
UnboundLocalError: local variable 'n1' referenced before assignment
我怀疑是'demo1'函数它不需要将'n1'指定为'global'变量,并且成功获得n1值,那么它如何获取n1的值?但由于一般'demo2'功能不能。