is和==这两个运算符一直是困扰python的初学者,它们都可以用来判断某个对象是否是某个值,那么到底什么时候用is,什么时候用==去判断某个对象是否是某个值哪?下面勇哥结合实例给大家分享下两者的区别和使用建议。
一、引入
首先python是一门支持面向对象的编程语言,在python中,一切皆对象,每个对象都由三个要素构成:
1、 对象的存放地址(就是对象的值在内存中存在哪个地方)
2、 对象的类型(对象属于那种数据类型)
3、 对象的值(对应内存地址存放的值)
在python中,如果我们要查看某个对象的存放位置,可以通过python提供的内置函数id(对象名称)去查看。如图所示:
查看某个对象的类型名称,我们可以通过python提供的内置函数type(对象名)去查看。
如图所示:
查看某个对象的值就比较好看,变量的话可以使用print去查看。
is和==都是python中的运算符,可以对两个对象进行比较。
如图所示:
在计算机中,每一块内存都有一个唯一的地址以供变量去访问内存中的内容,这个地址会被赋给变量的id属性,所以a = 5;b = 5时a和b的id是一样的,都是5所在内存的地址。
如图所示:
因此is主要用来判断两个对象的id是否相等,当两个对象的id相等时,说明这两个变量指向的地址是相同的,那么这两个变量的一切属性都相同。而==主要用来判断==符号左右两边对象的值是否相等,其调用了对象的__eq__()方法。
如图所示:
is 运算符比 == 效率高,在变量和None进行比较时,应该尽量使用 is进行比较。
如图所示:
为了帮助大家更轻松的学好Python,我给大家分享一套Python学习资料,帮助大家在成为Python高手的道路上披荆斩棘
需要这份资料,那么帮忙点个 再看 转发一下 分享出去
然后加微信:xing430611(可以免费预约一节Python爬虫的直播公开课讲解哦)
PS:如果觉得本篇文章对您有所帮助,欢迎关注、订阅、顶!
*声明:本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。
觉得不错,点个“在看”然后转发出去