python中 ‘is’ 和 ‘==’ 区别

id –> 唯一身份标识符,is比较的是id, ==比较的是value

 

首先, 明确以下三个知识点

id -> 返回对象的'唯一标识符'
== -> 比较操作符,比较判断两个对象的value(值)是否相等
is -> 同一性运算符,判断id是否相同

实验

01

02

03

总结

> a is b,实际上是做 id(a)==id(b) 运算
> a == b,实际上比较的是id(a)这个地址指向的值(内存地址)是不是和id(b)这个地址指向值一样
> 只有数值型和字符串型的情况下(a和b的value相等),a is b才为True,当a和b是tuple,list,dict或set型 时,a is b为False
> python为了实现对内存的有效利用,对小整数[-5,256]内的整数会进行缓存,不在该范围内的则不会缓存

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:/96312

发表评论

登录后才能评论

联系我们

400-080-6560

在线咨询:点击这里给我发消息

邮件:1823388528@qq.com

工作时间:周一至周五,9:30-18:30,节假日同时也值班

友情链接:万达娱乐招商  万达直属  万达娱乐注册  万达娱乐主管  万达注册  guoqibee.com  万达娱乐主管QQ  万达娱乐开户  guoqibee.com  万达娱乐开户