|
发表于 2021-8-17 20:07:03
|
显示全部楼层
本帖最后由 白two 于 2021-8-17 20:15 编辑
我是这样理解的,返回的字典应该只是一个呈现方式,返回结果应该是内存里的变量,也就是全局命名空间的内存,但它也有字典的特性,所以可以增加键值对,但是内存地址对应的是全局命名空间,所以就相当于直接增加了一个变量
- a = 1
- b = 2
- print(globals())
- print(id(globals()))
- c = 3
- d = 4
- print(globals())
- print(id(globals()))
复制代码
运行结果:
- {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x000001FF96CF6D00>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'C:\\Users\\21064\\Desktop\\pyPractice\\spider\\test.py', '__cached__': None, 'a': 1, 'b': 2}
- 2197259772544
- {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x000001FF96CF6D00>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'C:\\Users\\21064\\Desktop\\pyPractice\\spider\\test.py', '__cached__': None, 'a': 1, 'b': 2, 'c': 3, 'd': 4}
- 2197259772544
复制代码
你看哈,加了新的变量,但是全局命名空间的id没有变 |
|