global语句声明后,指定的变量被认为是函数外的。后面的所有操作都是在操作函数外的那个变量,虽然你是在函数内操作的。
虽然Python提供了这个功能,但是应该尽量避免这样做,因为这使得程序的读者会不清楚这个变量是在哪里定义的。
def func():
global x
print 'x is', x
x = 2
print 'Changed local x to', x
x = 50
func()
print 'Value of x is', x
执行结果是这样的
x is 50
Changed global x to 2
Value of x is 2