python小整数池和intern机制

一,小整数池

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
上一篇:String 既然能做性能调优,我直呼内行


下一篇:StringTable