>>> a=256 >>> id(a) 139840231892864 >>> b=256 >>> id(b) 139840231892864 >>> id(a)==id(b) True >>> a=257 >>> id(a) 139840094039632 >>> b=257 >>> id(b) 139840094039920 >>> id(a)==id(b) False
这是因为Python在内存中维护了一个特定数量的常量池,对于一定范围内的数值均不再创建新的对象,而直接在这个常量池中进行分配。实际上在我的机器上使用如下代码可以得到这个常量池的范围是 [0, 256] ,而 256 刚好是一个字节的二进制码可以表示的值的个数
标签:常量,python,139840231892864,id,引用,256,257 From: https://www.cnblogs.com/boye169/p/17055377.html