Local (?) variable referenced before assignment
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
local var referenced before assignment
Python 3: UnboundLocalError: local variable referenced before assignment
1 2 3 4 | test1 = 0 def testFunc(): test1 += 1 testFunc() |
我收到以下错误:
UnboundLocalError: local variable 'test1' referenced before assignment.
错误表明
那么,它是全局的还是局部的,如何在不将全局
为了在函数内部修改
1 2 3 4 5 | test1 = 0 def testFunc(): global test1 test1 += 1 testFunc() |
但是,如果只需要读取全局变量,则可以不使用关键字
1 2 3 4 | test1 = 0 def testFunc(): print test1 testFunc() |
但是,每当需要修改全局变量时,必须使用关键字
最佳解决方案:不要使用
1 2 3 4 5 6 7 | >>> test1 = 0 >>> def test_func(x): return x + 1 >>> test1 = test_func(test1) >>> test1 1 |
您必须指定test1是全局的:
1 2 3 4 5 | test1 = 0 def testFunc(): global test1 test1 += 1 testFunc() |