为什么这些语句不都 return 'true'?

Why don't these statements both return 'true'?

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

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

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

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

is 将 return 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)