码迷,mamicode.com
首页 > 编程语言 > 详细

浅谈python中的“ ==” 与“ is”、还有cmp

时间:2018-01-11 18:19:46      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:space   strong   存储   str   数据   3.x   ext   .net   特殊   

总之,比较内容相等使用 ‘==’

 

1、is" 是用来比较 a 和 b 是不是指向同一个内存单元,而"=="是用来比较 a 和 b指向的内存单元中的是不是相等

技术分享图片 技术分享图片

2、python有一个叫小整数对象池的东西,python为了优化速度,会把【-5,256】之间的数据提前存放在小整数对象池中,程序中只要用的【-5,256】之间的数据不会再重新创建一份,都是指向对象池中的同一份数据,除了这个区间之外的整数数据,每次使用时系统都会重新申请一块内存,用来存储数据,这样之前的现象也就不奇怪了。

3、对于纯字母的字符串,测试情况显式,是同一块内存

技术分享图片

4、对于特殊符号,及标点符号又是另一种情况

技术分享图片     技术分享图片

 

5、说下cmp,这个也是比较内容相等,等同于==,但是python3.x版本废弃了,建议不用了

 

参考:

1、http://blog.csdn.net/kobebryantlin0/article/details/73391584

浅谈python中的“ ==” 与“ is”、还有cmp

标签:space   strong   存储   str   数据   3.x   ext   .net   特殊   

原文地址:https://www.cnblogs.com/shengulong/p/8269700.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!