Pythonglobals()locals()vars()学习记录
目录
- 更多分享:http://www.catbro.cn
globals()
- 作用:返回当前全局符号表, 通常在是返回当前模块下的全局符号表, 比如全局内建的函数,
以及模块里的全局符号(定义声明的变量,类, 实例等), 在函数或者类方法中,
globals()
返回的模块符号表是其所在模块, 而不是调用模块.
locals()
- 作用:更新并以字典形式返回当前局部符号表. 自由变量由函数块的
locals()
返回, 而 不会由class
块来返回. 需要注意的是,locals()
字典不应该被修改
vars()
- 作用:返回
__dict__
属性 - 比如模块、类、实例或者其它带有
__dict__
属性的object
. vars()
使用时如果不传参数, 那么作用与 locals() 一样. 需要注意的是, locals 字典只在读操作 时使用, 因为对locals
的更新会被忽略.