Python变量的缓存机制
当然,我会帮你整理这些Python代码并转化为Markdown格式的笔记。以下是你的Markdown笔记:
Python变量的缓存机制
在Python 3.6版本中,对于某些类型的变量,如果它们的值相同,那么它们在内存中的地址(即它们的id)也可能相同。这种现象称为变量的缓存机制。
1. 整型
对于整型而言,-5到正无穷范围内的相同值,它们的id一致。
var1 = 5
var2 = 5
print(id(var1), id(var2)) # 输出:相同的id
var1 = -100
var2 = -100
print(id(var1), id(var2)) # 输出:不同的id
2. 浮点数
对于浮点数而言,非负数范围内的相同值,它们的id一致。
var1 = 4.67
var2 = 4.67
print(id(var1), id(var2)) # 输出:相同的id
var1 = -4.67
var2 = -4.67
print(id(var1), id(var2)) # 输出:不同的id
3. 布尔值
对于布尔值而言,值相同情况下,它们的id一致。
var1 = True
var2 = True
print(id(var1), id(var2)) # 输出:相同的id
4. 复数
对于复数在实数+虚数的结构中,它们的id永不相同(只有虚数的情况例外)。
var1 = 4 + 5j
var2 = 4 + 5j
print(id(var1), id(var2)) # 输出:不同的id
var1 = 5j
var2 = 5j
print(id(var1), id(var2)) # 输出:相同的id
5. 字符串和空元组
对于字符串和空元组,值相同的情况下,它们的id相同。
var1 = "你"
var2 = "你"
print(id(var1), id(var2)) # 输出:相同的id
var1 = ()
var2 = ()
print(id(var1), id(var2)) # 输出:相同的id
6. 列表、元组、字典、集合
对于列表、元组、字典、集合,无论什么情况,它们的id标识都不同(空元组例外)。
var1 = [1,2,3]
var2 = [1,2,3]
print(id(var1), id(var2)) # 输出:不同的id
var1 = (1,2)
var2 = (1,2)
print(id(var1), id(var2)) # 输出:不同的id
希望这个Markdown笔记对你有所帮助!

浙公网安备 33010602011771号