目录

Pythonglobals()locals()vars()学习记录

globals()

  • 作用:返回当前全局符号表, 通常在是返回当前模块下的全局符号表, 比如全局内建的函数, 以及模块里的全局符号(定义声明的变量,类, 实例等), 在函数或者类方法中, globals() 返回的模块符号表是其所在模块, 而不是调用模块.

locals()

  • 作用:更新并以字典形式返回当前局部符号表. 自由变量由函数块的locals() 返回, 而 不会由 class 块来返回. 需要注意的是, locals() 字典不应该被修改

vars()

  • 作用:返回 __dict__ 属性
  • 比如模块、类、实例或者其它带有 __dict__ 属性的object.
  • vars()使用时如果不传参数, 那么作用与 locals() 一样. 需要注意的是, locals 字典只在读操作 时使用, 因为对 locals 的更新会被忽略.