交互式环境,小整数和大整数,不同变量名但同一值之间的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解释器会为这整个代码申请同一内存。
浙公网安备 33010602011771号