首页 > 解决方案 > a = 1000, b = 1000。为什么从命令行运行时`a is b`返回true,但在解释器中却没有?

问题描述

根据这个答案,我们知道 Python 从 -5 <= x <= 256 返回对整数的引用。当我在解释器中输入以下内容时,我得到了预期的结果:

big_num_1 = 1000
big_num_2 = 1000
print(big_num_1 == big_num_2, big_num_1 is big_num_2)

这给了我:

True False

但是,如果我将其保存在文件中myFile并简单地进行导入:

import myFile

它总是给我以下输出:

True True

当不从解释器运行时,Python 会以不同的方式处理这些引用吗?

标签: pythonpython-3.xpython-2.7

解决方案


推荐阅读