Python内置函数-作用域相关

发布于 2020-05-11  584 次阅读


  • locals 返回当前方法所在命名空间内局部变量的字典
  • globals 获取全局变量的字典

不用尝试修改默认的locals字典

>>> def f():
...     print('没有自定义参数之前')
...     a=1
...     b=2
...     print('定义变量后,查看f函数内局部变量')
...     print(locals())
...
>>> f()
没有自定义参数之前
定义变量后,查看f函数内局部变量
{'b': 2, 'a': 1}

>>> globals()
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, 'f': <function f at 0x000000000266EAE8>}
>>> a=1
>>> b=2
>>> globals() # 多了a,b两个key
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, 'f': <function f at 0x000000000266EAE8>, 'a': 1, 'b': 2}
>>>

一名测试工作者,专注接口测试、自动化测试、性能测试、Python技术。