Python变量的缓存机制[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))
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » Python变量的缓存机制