存档

‘Python’ 分类的存档

python全局变量与命名空间

2010年6月10日 flex 没有评论
KEY_WORD = "A"

def temp():
    print KEY_WORD
    KEY_WORD = "B"

这段代码运行会提示变量KEY_WORD在定义前使用。原因是因为一旦在函数中修改全局变量,则python会将全局变量认成局部变量,在函数的命名空间内寻找其定义。如果要修改全局变量,要在函数内使用global关键字进行声明。如下:

KEY_WORD = "A"

def temp():
    global KEY_WORD
    print KEY_WORD
    KEY_WORD = "B"

当然,我个人更倾向将全局变量只作为常量。

分类: Code, Python 标签: , ,