python shell 和 IDLE 中元组处理的区别

问题描述

当我遇到一个奇怪的不一致时,我正在学习 python 元组。这段代码

x = (1,2)
y = (1,2)
print(x is y)

这在 shell 中给出 False 而在 IDLE 中给出 True。有什么原因吗?

解决方法

实际上Python IDLE和shell对tuple-()等数据类型使用不同的存储系统 所有其他数据类型,如:

  • 列表
  • 设置
  • 字典

将显示相同的内容。