[python]
KEY_WORD = "A"
def temp():
print KEY_WORD
KEY_WORD = "B"
[/python]
这段代码运行会提示变量KEY_WORD在定义前使用。原因是因为一旦在函数中修改全局变量,则python会将全局变量认成局部变量,在函数的命名空间内寻找其定义。如果要修改全局变量,要在函数内使用global关键字进行声明。如下:
[python]
KEY_WORD = "A"
def temp():
global KEY_WORD
print KEY_WORD
KEY_WORD = "B"
[/python]
当然,我个人更倾向将全局变量只作为常量。