访问量: 232 次浏览
如果你想给在顶层的程序(即未在任何类型的范围如函数或类之中)定义的变量赋值,
那么你必须告诉Python,变量不是局部的,
而是全局的。我们使用global语句,
没有global语句赋值给一个在函数外定义的变量是不可能的。
您可以使用这些在函数外定义的变量的值(假设在函数内没有同名的变量)。
然而,这并不鼓励,应该避免,
因为这使程序的读者不清楚变量是在哪里定义的,
使用global语句就非常清楚,变量定义在一个最外的块中。
使用全局变量的例子:
x = 50
def func():
global x
print('x的值是', x)
x = 2
print('全局变量x改为', x)
func()
print('x的值是', x)
输出:
x的值是50
全局变量to改为2
x的值是2
global语句用来声明x是全局变量,
当我们在函数内给x赋值时,
它的改变映射到我们在主块中使用的x的值。
用同样的global语句可以指定多个全局变量,
比如: global x, y, z。