总之,比较内容相等使用 '=='
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
来源: http://www.bubuko.com/infodetail-2457556.html