一,小整数池
pycharm会扩大小整数池的范围,不用深究;
#小整数池[-5,256]
a = 200
b = 200
print(id(a)) #id()答应内存地址
print(id(b))
c = 100044
d = 100044
print(id(c))
print(id(d))
print(c is d) #is 返回true或fales 确认是否是同一个内存地址
#输出-----------------------------
140719825127904
140719825127904
1531814896784 #(pycharm原因是同一个)
1531814896784
True
二,大整数池(intern机制)
#大整数池(intern机制)
#只包含数字,字母,下划线的标准字符,会放在大整数池里,下次再有相同的字符时指向同一个内存地址,节约内存
a = "in_4"
b = "in_4"
c = "oo_!5" #c包含的有!c,d不会指向一个内存地址(pycharm原因是同一个)
d = "oo_!5"
print(id(a))
print(id(b))
print(id(c))
print(id(d))
#输出-------------------------
1901155729136
1901155729136
1901155728304 #(pycharm原因是同一个)
1901155728304