最近看了《 python 源码分析》,里面提到了 python 的小整数对象池和大整数对象池,然后我发现,如果我在解释器上直接运行:
>>> a = 10000
>>> b = 10000
那么 id(a)
和 id(b)
是不一样的。
但是如果我写个main.py
去跑,那么id(a)
和id(b)
又是一样的了,是因为交互解释器没有用到大整数对象池吗?还是因为 py 文件在编译的时候做了优化?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.