python从入门到精通-----------id和代码块--------

本文介绍了Python中变量的内存地址、`id()`函数和`is`关键字的使用。通过实例展示了当变量值相等时,它们的内存地址可能不同,而内存地址相等则意味着指向同一内容。提到了代码块的概念以及Python的小数据池机制,说明了在不同代码块内,小数据(如某些整数和布尔值)可能会复用相同的内存地址以提高性能和节省内存。
摘要由CSDN通过智能技术生成

 

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


​
​

 代码块的主要作用还是提升性能和节省内存

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值