全局变量的名字声明在函数体中时,全局变量的名字就被局部变量覆盖掉。

全局变量对于所有的函数,他们的值都是可以被访问的。除非别删除,不然一直活动到脚本结束。局部变量是暂时的。

###程序示例####

var=200#1

def foo():

  var=100#2

print var#3

#####

结果是200,不是100。因为在语句“2”中,不是对全局var赋值,改变其值,而是声明局部变量var,并覆盖了全局var。

语句“3”访问了全局变量var。

要想在函数中改变全局var,要明确地引用已经命名的全局变量(global语句)。

#######示例#####

var=200

def foo:

  global var

  var=100

print var

结果 :100