python - 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 会以不同的方式处理这些引用吗?
解决方案
推荐阅读
- node.js - 即使没有承诺,在执行 CRUD 操作时承诺未决
- android - 如何在“Panorama360”库中实现肖像模式?
- python - 如何替换一个单词,但前提是它不与另一个单词组合?
- haskell - 如何安装`Test.QuickCheck` GHCi 找不到,导入失败
- javascript - 需要在圆包布局d3中固定一个外圆的位置
- presto - 在 presto 中使用 map_agg 函数时应用更多维度
- windows - 如何在批处理文件中将选定的文件从一个文件夹复制到另一个文件夹?
- api - 从不受信任的服务访问外部 API
- amazon-web-services - 从 AWS ECR 存储库中获取特定标记的最新图像
- linux - 编译内核给出错误 No rule to make target 'debian/certs/debian-uefi-certs.pem'