Python变量的缓存机制
在同一文件中,变量的缓存机制
仅针对Python3.6版本
数字类型
整型
对于整型而言,-5~正无穷范围内,相同的值,id相同
var1 = 5
var2 = 5
print(id(var1), id(var2))
var1 = -15
var2 = -15
print(id(var1), id(var2))
浮点型
对于浮点型而言,非负数范围内,相同的值,id相同
var1 = 0
var2 = 0
print(id(var1), id(var2))
var1 = -0.15
var2 = -0.15
print(id(var1), id(var2))
布尔型
对于布尔型而言,相同的值,id相同
var1 = True
var2 = True
print(id(var1), id(var2))
var1 = False
var2 = False
print(id(var1), id(var2))
复数型
在实数+虚数的结构下,永不相同(纯虚数情况例外)
var1 = 4+5j
var2 = 4+5j
print(id(var1), id(var2))
var1 = 5j
var2 = 5j
print(id(var1), id(var2))
var1 = -5j
var2 = -5j
print(id(var1), id(var2))
容器类型
字符串
对于字符串而言,相同的值,id相同
var1 = "我爱你"
var2 = "我爱你"
print(id(var1), id(var2))
空元组
对于空元组而言,相同的值,id相同
var1 = ()
var2 = ()
print(id(var1), id(var2))
其它容器类型
列表,元组,字典,集合无论什么情况,id都不相同(空元组除外)
var1 = []
var2 = []
print(id(var1), id(var2))
var1 = set()
var2 = set()
print(id(var1), id(var2))
var1 = (1,2)
var2 = (1,2)
print(id(var1), id(var2))
var1 = {"a":1, "b":2}
var2 = {"a":1, "b":2}
print(id(var1), id(var2))