优草派 > Python

Python等等运算符与is关键字区别在哪?Python运算符is和==差异是什么

罗西汉         优草派

在python之中如果要判断两个对象是否相等的话能够使用==运算符和is关键字,而很多人只会使用但是却不知道该如何区分它们。那么下面这篇文章就会来讲解一下这两个运算符之间的差异和区别是什么,要深入了解python的小伙伴可得仔细阅读了。

Python等等运算符与is关键字区别在哪?Python运算符is和==差异是什么

一、实际作用

等等两个等号是逻辑运算符,而is则是身份运算符,它们两个从作用上来说就是有了差异。一个是用来判断两个对象之间的值是否相等,一个则是判断两个对象是否相同。如果有学习过Java和C#的话就很好理解,因为一个是根据值判断,一个是根据引用来判断。

二、代码实例

从实际上的代码来看还是更加好讲解的,那么现在给定一个列表对象a,然后使用a给b赋值。那么这个时候a和b两个对象无论是值还是引用类型都是相等和相同的,代码示例如下:

a = [1, 2, 3]
b = a
b is a
True
b == a
True

这是因为a的值赋予给b之后,它们两个自然是相同的。但是is引用判断还是相同的原因就涉及到python对象缓存机制了,该机制的作用就是当一个内存较小的对象定义好之后会放在缓存区之中,如果这个对象赋值给了另外一个对象,那么同时也会将内存空间地址也赋值过去。也就是说对象a和b是从同一内存空间中取数据的,一个更改了,另外一个也会相应的发生变化。

那么来看另外一个示例,使用a列表切片的方式将所有元素取出来赋值给对象b。这个时候虽然值相同,但是它们引用对象不同了,is身份判断的结果为False。这是因为切片操作是重新开辟一个内存空间来保存数据,所以它们的引用对象不同了,详细代码示例如下所示:

b = a[:]
b is a
False
b == a
True

以上就是关于“Python等等运算符与is关键字区别在哪?Python运算符is和==差异是什么”的全部内容了,希望对你有所帮助。

  • 微信好友

  • 朋友圈

  • 新浪微博

  • QQ空间

  • 复制链接

取消
5天短视频训练营
新手入门剪辑课程,零基础也能学
分享变现渠道,助你兼职赚钱
限时特惠:0元
立即抢
新手剪辑课程 (精心挑选,简单易学)
第一课
新手如何学剪辑视频? 开始学习
第二课
短视频剪辑培训班速成是真的吗? 开始学习
第三课
不需要付费的视频剪辑软件有哪些? 开始学习
第四课
手机剪辑app哪个好? 开始学习
第五课
如何做短视频剪辑赚钱? 开始学习
第六课
视频剪辑接单网站APP有哪些? 开始学习
第七课
哪里可以学短视频运营? 开始学习
第八课
做短视频运营需要会什么? 开始学习
【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。

客服热线:0731-85127885

湘ICP备19005950号-1  

工商营业执照信息

违法和不良信息举报

举报电话:0731-85127885 举报邮箱:tousu@csai.cn

优草派  版权所有 © 2024