对于初学Python的小伙伴来说,可能对is比较陌生,很多人在使用的时候都会误将它和== 的功能混为一谈,但其实is与==有本质上的区别,下面一起来看看它们之间的区别在哪吧 。
文章插图
一、比较运算符==和is的区别
如果我们要对两个变量的值进行比较时,就会使用==去对两个变量的值进行判断是否相等,如果使用的是is的话,它判断的条件是两个变量所引用的对象是否是同一个对象,举个例子:
import timea = time.gmtime()b = time.gmtime()print(a == b) # 输出Trueprint(a is b) # 输出False在上面的这个实例中,主要实现的功能是获取当前时间,其中a和b两个变量表示的都是当前系统的时间,所以a、b两个变量的时间值是相等,当我们使用==进行判断的时候,它最后返回的结果是true,但是由于a、b两个变量对对象的引用是不同的,在代码中,调用了gmtime()函数,它会使每次的返回的对象都不同,所以当我们使用is判断的时候,就会返回一个false 。
二、判断两个对象是否属于同一个对象
我们在操作之前,其实可以对对象做出判断,看看是否为同一个对象,可以使用Python中的一个全局函数id(),它可以查看对象所使用的内存地址是否相同,当两个对象存在同一个地址中时,就表示它们属于同一个对象中,下面看一个例子,使用id()函数去判断刚才那两个变量的对象,代码如下:
print(id(a))print(id(b))运行结果:
26802579784802680259784801通过运行结果中看到 a、b 两个变量所引用的对象的内存地址是不同的,这样通过 is来判断a、b两个变量自然也就输出False了 。
【Python中比较运算符==和is有什么区别?Python之is与==的区别详解】关于Python中比较运算符==和is有什么区别?Python之is与==的区别详解的文章就分享到这里了,希望大家仔细的阅读这篇文章之后能有所收获 。
推荐阅读
- Python函数传递参数怎么做?Python函数如何修改传入的参数
- 丈夫中风爱人该怎么办
- 张乘乘卖的什么牌子包
- Python对象是什么概念?Python对象有哪些基本特征?
- Python程序注释写在什么位置?Python在代码什么位置添加多行注释
- Python安装好后桌面没有快捷方式怎么办?Python没快捷方式如何使用
- Python如何自动创建文件?Python怎么自动处理文件
- 如何修改Python包的源代码?Python修改库源码怎么做
- Python如何求取正数平均值?Python求均值怎么转为正数
- Python运行一闪而过是什么?Python程序运行后闪退怎么办