为什么这些陈述都不会返回' true&#39 ;?

时间:2015-11-18 14:37:22

标签: python math logic theory

所以我在python中遇到了一些奇怪的行为:

>>> 2+1 is 3
True
>>> 2000+1 is 2001
False

当使用大整数时,它没有使用正确的逻辑,为什么会这样?

1 个答案:

答案 0 :(得分:2)

如果两个变量指向同一个对象,

is将返回True。那就是id

In [21]: id(3)
Out[21]: 15538056

In [22]: id(2+1)
Out[22]: 15538056

In [23]: id(2001), id(2000+1)
Out[23]: (52399576, 54526360)