为什么不需要使用'global'关键字来访问全局变量?
- 论坛
- 为什么不需要使用'global'关键字来访问全局变量?
24 浏览
为什么不需要使用'global'关键字来访问全局变量?
据我了解,Python对函数有独立的命名空间,所以如果我想在函数中使用全局变量,可能应该使用global
关键字。
然而,即使没有使用global
,我仍然可以访问全局变量:
>>> sub = ['0', '0', '0', '0'] >>> def getJoin(): ... return '.'.join(sub) ... >>> getJoin() '0.0.0.0'
为什么这个可以工作?
参见在第一次使用后重新分配本地变量时的UnboundLocalError错误,这是在没有使用global
时尝试对全局变量进行赋值时出现的错误。参见在函数中使用全局变量,了解如何使用全局变量的一般问题。