为什么不需要使用'global'关键字来访问全局变量?

24 浏览
0 Comments

为什么不需要使用'global'关键字来访问全局变量?

据我了解,Python对函数有独立的命名空间,所以如果我想在函数中使用全局变量,可能应该使用global关键字。

然而,即使没有使用global,我仍然可以访问全局变量:

>>> sub = ['0', '0', '0', '0']
>>> def getJoin():
...     return '.'.join(sub)
...
>>> getJoin()
'0.0.0.0'

为什么这个可以工作?


参见在第一次使用后重新分配本地变量时的UnboundLocalError错误,这是在没有使用global时尝试对全局变量进行赋值时出现的错误。参见在函数中使用全局变量,了解如何使用全局变量的一般问题。

0