python局部变量和全局变量问题

2025-03-23 18:20:28
推荐回答(1个)
回答(1):

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