浅谈python中的“ ==” 与“ is”、还有cmp
总之,比较内容相等使用 ‘==’
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的更多相关文章
- 浅谈python中得import xxx,from xxx import xxx, from xxx import *
在python中import跟from import都是用来导入的,但是导入的机制不同 1.import xxx:导入模块,或者文件夹,对于调用模块或者文件夹中子模块的变量或者函数,需要使用" ...
- 浅谈python中的“ ==” 与“ is”
在python中,== 与 is 之间既有区别,又有联系,本文将通过实际代码的演示,力争能够帮助读到这篇文章的朋友以最短的时间理清二者的关系,并深刻理解它们在内存中的实现机制.扯淡的话不多说,下面马上 ...
- 浅谈python中文件和文件夹的相关操作
文件操作 文件的打开与关闭 打开文件 使用open(文件名,访问方式)函数,可以打开一个已存在的文件,或者创建一个新的文件. 示例如下: f = open('test.txt') # 访问方式可以省略 ...
- 浅谈python中字典append 到list 后值的改变问题
看一个例子 ? 1 2 3 4 d={'test':1} d_test=d d_test['test']=2 print d 如果你在命令行实践的话,会发现你改动的是d_test ,但是d 也跟着改变 ...
- 浅谈python中的闭包函数
闭包函数初探 通常我们定义函数都是这样定义的 def foo(): pass 其实在函数式编程中,函数里面还可以嵌套函数,如下面这样 def foo(): print("hello worl ...
- 浅谈Python中函数式编程、面向对象编程以及古怪的PythonIC
1.函数式编程作为结构化编程的一种,正在受到越来越多的重视.那么什么事函数式编程呢? 在维基百科中给出了详细的定义,函数式编程又称泛函数编程,是一种编程规范,它将函数运算视为数学上的函数计算.简单的来 ...
- 浅谈python中__str__和__repr__的区别
很多时候我们在创建一个类的时候,在终端打印类或者查看的时候一般都不会得到一个太满意的结果 class T: def __init__(self): self.color="red" ...
- 浅谈Python 中 __getattr__与__getattribute__的区别
__getattr__与__getattribute__均是一般实例属性截取函数(generic instance attribute interception method),其中,__getatt ...
- 浅谈python 中正则的一些函数
主要的函数有 : match() search() findall() group() groups() split() match (): 含义 开头匹配,匹配成功返回一个对象失败则 ...
随机推荐
- uva1608 Non-boring sequences
某个序列找到唯一元素后,判断被分成的两边的序列即可问题在于找到唯一元素连续序列,重复元素的问题:感觉很有一般性 查找相同元素用map,last,next存上一个相同元素的位置复杂度计算有点思考:记录l ...
- 创建线程的三种方式_Callable和Runnable的区别
Java 提供了三种创建线程的方法 通过实现Runnable接口 通过继承Thread接口 通过Callable和Future创建线程 通过实现 Runnable 接口来创建线程 public cla ...
- CAD交互绘制矩形框(网页版)
主要用到函数说明: _DMxDrawX::DrawLine 绘制一个直线.详细说明如下: 参数 说明 DOUBLE dX1 直线的开始点x坐标 DOUBLE dY1 直线的开始点y坐标 DOUBLE ...
- 第三周:Excel
一.Excel的常见函数: 1.文本清洗函数: https://ask.hellobi.com/blog/cbdingchebao/10149
- python之range (范围)
例题: for i in range(10): print(i,end='') # 输出结果 0123456789 # s = range(1,10) # 面试大坑 python2 和 python3 ...
- Needleman_Wunsch
Needleman_Wunsch算法思路: 1.建立二维数组 2.建立评分模式 load1:向右:-2 load2:向下:-2 load3:对角线:依据是否配得到 匹配:+1 不匹配:-1 3.双层循 ...
- ç7—UIViewController
UIViewController继承了UIResponder,而UIResponder继承了NSObject,UIViewController是所有视图控制器的父类. 在MVC模式中,UIViewCo ...
- 四、StaticList 和 DynamicList
1.StaticList类模板 StaticList的设计要点:类模板 使用原生数组作为顺序存储空间 使用模板参数决定数组大小 template <typename T, int N> c ...
- turtle安装问题
原文来源:https://blog.csdn.net/liudongdong19/article/details/81283942 本人python版本为:Python 3.6.5 在安装turtle ...
- python 容器 用户注册登录系统
1. 列表和普通变量有什么区别 列表是数据类型,普通变量是用来存储数据的 可以把列表赋值给普通变量 2.存在列表 a = [11, 22, 33], 如何向列表中添加(增)新元素 44 a.appen ...