背景

在熬夜期间,无意间发现的,一位新人问问题,“灵敏”的我马上就想到了是py减少内存消耗的手段,大概是这样的:

a = 256
b = 256
a is b

返回True

a = 257
b = 257
a is b

返回False

为什么?

我们打印他们的id地址发现,第一次256,俩都是一样的,第二次,俩不一样

为什么呢?

其实不仅仅是256和257,py有一种独特的机制

因为-5到256是常用的数值

所以,他们自动的被搞到一个内存里面去了

关于验证,还是交给那些大佬吧!

Last modification:August 25, 2021
如果觉得我的内容对你有用,请随意赞赏