Python“是”v / s“=”奇怪的行为

时间:2014-01-07 05:33:42

标签: python python-2.7

在Python中,x is y如果双方评估同一个对象,则返回true;也就是说,它检查指针是否相等。现在我尝试了这样的事情:

>>>a = 2  
>>>a is 2  
True  

然而..

>>>a = 9203409249024  
>>>a is 9203409249024  
False

为什么会出现这种行为差异?

1 个答案:

答案 0 :(得分:0)

Python(和其他语言)在内存中缓存小数字,因此具有值(例如)2的多个变量将指向内存中的相同位置(因此,is返回{{1 }})。