在Python中,x is y
如果双方评估同一个对象,则返回true;也就是说,它检查指针是否相等。现在我尝试了这样的事情:
>>>a = 2
>>>a is 2
True
然而..
>>>a = 9203409249024
>>>a is 9203409249024
False
为什么会出现这种行为差异?
答案 0 :(得分:0)
Python(和其他语言)在内存中缓存小数字,因此具有值(例如)2的多个变量将指向内存中的相同位置(因此,is
返回{{1 }})。