怎么在函数体内改变全局变量呢?我们来看下面这一段代码
x = '函数体外'
def foo():
x = '函数体内'
print(x)
foo()
print(x)
输出结果是
函数体内
函数体外
这其实只是在函数体内的局部变量和函数体外的全局变量重名了罢了,他们实际上是两个不同的变量。那么,怎么在函数体内操作全局变量呢?
只要把代码改成下面这样就可以了:
x = '函数体外'
def foo():
global x
x = '函数体内'
print(x)
foo()
print(x)
于是,输出结果就变成了
函数体内
函数体内
这样就搞定了