要global
在函数内部使用变量,您需要global <varName>
像这样在函数内部进行操作。
testVar = 0
def testFunc():
global testVar
testVar += 1
print testVar
testFunc()
print testVar
给出输出
>>>
0
1
请记住,global
如果您要进行分配/更改它们,则只需要在函数内声明它们。global
打印和访问不需要。
你可以做,
def testFunc2():
print testVar
而global
不像我们在第一个函数中那样声明它,它仍然可以正确赋值。
以alist
为例,您不能在list
不声明的情况下分配a ,global
但是可以调用它的方法并更改列表。如下所示。
testVar = []
def testFunc1():
testVar = [2] # Will create a local testVar and assign it [2], but will not change the global variable.
def testFunc2():
global testVar
testVar = [2] # Will change the global variable.
def testFunc3():
testVar.append(2) # Will change the global variable.