有些许人会知道globals函数。globals函数返回当前命名空间的所有变量、函数、类、模块以及其值的字典。通俗点讲,就是你正在编程的空间有啥东西。通过dir函数,可以了解模块的所有信息的名字,但没有值,而globals用字典同时表示了名字和值。
>>> globals()
{'__name__': '__main__', '__doc__': None, '__package__': None,
'__loader__': <class '_frozen_importlib.BuiltinImporter'>,
'__spec__': None, '__annotations__': {}, '__builtins__':
<module 'builtins' (built-in)>}
>>> a = 1
>>> globals()
{'__name__': '__main__', '__doc__': None, '__package__': None,
'__loader__': <class '_frozen_importlib.BuiltinImporter'>,
'__spec__': None, '__annotations__': {}, '__builtins__':
<module 'builtins' (built-in)>, 'a': 1}
>>> b = [1, 2, 3]
>>> globals()
{略, 'a': 1, 'b': [1, 2, 3]}
>>&