在我的Python3学习中,在尝试globals()和locals()的同时,我制作了一个非常基本的独立Python程序,并收到了结果,我要求专家解释。> 然后,我在Python程序(任意)中执行了相同的2个函数,并在程序中接收到许多(全部为?)值的列表,无论该变量是声明为本地还是全局或非本地。
我的理解是,globals()函数包含所有声明为全局变量的值的列表(与本地变量相同),但是根据我的观察,结果显示出一些不同。
谁能解释我看到的内容以及原因?
这是程序和结果:
python程序:
print("Globals=",globals())
print("Locals=",locals())
结果(对于上述两行程序):
=============== RESTART: /home/pi/Junk/globals_locals_test.py ==========
Globals= {'__package__': None, '__spec__': None, '__loader__': <class '
_frozen_importlib.BuiltinImporter'>, '__doc__': None, '__file__': '
/home/pi/Junk/globals_locals_test.py', '__builtins__': <module 'builtins'
(built-in)>, '__name__': '__main__'}
Locals= {'__package__': None, '__spec__': None, '__loader__': <class '
_frozen_importlib.BuiltinImporter'>, '__doc__': None, '__file__': '
/home/pi/Junk/globals_locals_test.py', '__builtins__': <module 'builtins'
(built-in)>, '__name__': '__main__'}
>>>