有关python引用的一个问题

>>> a = 12

>>> b = 12

>>> a is b

True

>>> c = 864

>>> d = 864

>>> c is d

False

>>> id(c)

35916592

>>> id(d)

35916576


为什么c和d的地址引用不一样?


白板的微信
浏览 146回答 3
3回答

桃花长相依

Python对小整数[-5,257)进行了缓存,该范围内的整数在Python系统中是共享的,所以这个范围内的整数的引用地址是一样的,对于超出这个范围的整数还是要分配新的地址,所以其他的不一样

侃侃尔雅

>>> a = 888>>> b = 888>>> a is bFalse>>> def function(): a = 888 b = 888 print(a is b)>>> function()True在函数内部就变得一样了,但是我也不知道为什么。本人小白一枚。
打开App,查看更多内容
随时随地看视频慕课网APP