test1 = 0 def testFunc(): test1 += 1 testFunc()
我收到以下错误:
UnboundLocalError:分配前已引用局部变量“ test1”。
错误说那'test1'是局部变量,但我认为这个变量是全局变量
'test1'
那么它是全局的还是局部的,以及如何在不将globaltest1作为参数传递给的情况下解决此错误testFunc?
test1
testFunc
为了test1在函数内部进行修改,您需要将其定义test1为全局变量,例如:
test1 = 0 def testFunc(): global test1 test1 += 1 testFunc()
但是,如果只需要读取全局变量,则可以不使用关键字进行打印global,就像这样:
global
test1 = 0 def testFunc(): print test1 testFunc()
但是,每当需要修改全局变量时,都必须使用关键字global。