python缓存机制_Python 变量的缓存机制

Number 部分:同一个文件内,只对python3.6版本之前负责

1.对于整型而言,-5~正无穷范围内的相同值 id一致

2.对于浮点数而言,非负数范围内的相同值 id一致

3.布尔值而言,值相同情况下,id一致

4.复数在 实数+虚数 这样的结构中永不相同(只有虚数的情况例外)

1.对于整型而言,-5~正无穷范围内的相同值 id一致

var1 = -5

var2 = -5

print(var1,var2)

print(id(var1),id(var2))

"""

>>> var1 = -5

>>> var2 = -5

>>> print(var1,var2)

-5 -5

>>> print(id(var1),id(var2))

140711818158736 140711818158736

>>>

"""

#代码块的作用

var3 = -100

var4 = -100

print(var3,var4)

print(id(var3),id(var4))

"""

>>> var3 = -100

>>> var4 = -100

>>> print(var3,var4)

-100 -100

>>> print(id(var3),id(var4))

2090435299344 2090435299216

"""

2.对于浮点数而言,非负数范围内的相同值 id一致

var1 = 5.88

var2 = 5.88

"""

2090435195432 2090435195456

>>> var1 = 5.88

>>> var2 = 5.88

>>> print(id(var1) , id(var2))

2090435195288 2090435195144

"""

var3 = -5.68

var4 = -5.68

print(id(var1) , id(var2))

print(id(var3) , id(var4))

"""

2090435195144 2090435195168

>>> var3 = -5.68

>>> var4 = -5.68

>>> print(id(var3) , id(var4)

... )

2090435195432 2090435195456

"""

3.布尔值而言,值相同情况下,id一致

var1 = True

var2 = True

print(id(var1),id(var2))

"""

>>> var1 = True

>>> var2 = True

>>> print(id(var1),id(var2))

140711817627984 140711817627984

"""

4.复数在 实数+虚数 这样的结构中永不相同(只有虚数的情况例外)

var1 = 8 +3j

var2 = 8 +3j

print(id(var1),id(var2))

var3 = 8j

var4 = 8j

print(id(var3),id(var4))

"""

>>> var1 = 8 +3j

>>> var2 = 8 +3j

>>> print(id(var1),id(var2))

2090464163920 2090465821296

>>> var3 = 8j

>>> var4 = 8j

>>> print(id(var3),id(var4))

2090435299216 2090465821264

"""

容器类型部分:同一个文件内,只对python3.6版本之前负责

5.字符串 和 空元组 相同的情况下,地址相同

var1 = '你好'

var2 = '你好'

print(id(var1),id(var2))

var3 = ()

var4 = ()

print(id(var3),id(var4))

"""

>>> var1 = '你好'

>>> var2 = '你好'

>>> print(id(var1),id(var2))

2090465255336 2090465906824

>>>

>>> var3 = ()

>>> var4 = ()

>>> print(id(var3),id(var4))

2090434953288 2090434953288

"""

6.列表,元组,字典,集合无论什么情况 id标识都不同 [空元组例外]

var1 = ['1','2']

var2 = ['1','2']

print(id(var1),id(var2))

var3 = {'a','b'}

var4 = {'a','b'}

print(id(var3),id(var4))

var5 = {1:'a'}

var6 = {1:'a'}

print(id(var5),id(var6))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值