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一致
'''
Python学习交流,免费公开课,免费资料,
免费答疑,系统学习加QQ群:579817333
'''
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.字符串 和 空元组 相同的情况下,地址相同
'''
Python学习交流,免费公开课,免费资料,
免费答疑,系统学习加QQ群:579817333
'''
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))
本文来自博客园,作者:I'm_江河湖海,转载请注明原文链接:https://www.cnblogs.com/jhhh/p/16760823.html