id
id为我们在电脑内储存文件的内存地址
s1=1233 s2=12324214 print(id(s1)) print(id(s2))
这样我们就可以得到s1和s2的内存地址了
内存地址是会不断改变的
我们知道我们在比较元素的值是否相同时会使用==来判断
我们在判断内存地址是否相同时会使用is来判断id是否相
w1=[1,2,3] w2=[1,2,3] print(w1==w2) print(w1 is w2) True False
当一个元素的值相同时它的id不一定相同但是但元素的id相同时它的值一定相同 (因为他们都指向同一内容)
如图所示
代码块
1.什么是代码块
其实代码块就是一个文件或者在交互式命令下没一行就是一个代码块
2. 代码块的缓存机制
i1=1000 i2=1000 print(i1 is i2)
这种情况下会发现它的id也是相同的
具体解释如图所示:
3.小数据池
前提条件:不同的代码块内(就是交互式命令下)
小数据池int的使用范围只有-5到256和bool和部分int
>>> i1=1000 >>> i2=1000 >>> print(i1 is i2) False >>>i1=100 >>> i2=100 >>> print(i1 is i2) True
代码块的主要作用还是提升性能和节省内存