交互式环境,小整数和大整数,不同变量名但同一值之间的id不一样

pyton版本:3.7.3

交互式环境:

>>> i = 20
>>> id(i)
9063232
>>> n = 20
>>> id(n)
9063232
>>> 
>>> i = 2000000
>>> id(i)
140283148043376
>>> n = 2000000
>>> id(n)
140283148043536

出现以上现象的原因:在python解释起中,如果是小整数:[-5, 256]之间,python不会再重新为新的变量重新申请内存,而直接指向已存在的,超过小整数范围外的就会为新的变量重新申请内存,所以大整数的id会不一致。

ps:但如果写在文件中,然后python 文件名.py执行,这样无论大小整数的id值都是一样的,因为这样执行,python解释器会为这整个代码申请同一内存。

posted on 2021-03-27 21:08  苦海舟  阅读(165)  评论(0)    收藏  举报

导航