Python中is和==的区别 - 邱乘屹的个人技术博客

is和==的区别

python中有很多的运算符,其中is和==在面试中常常被提到,所以,今天就总结了他俩的区别

首先要知道

在讲python中is和==的区别之前,首先要了解 Python中对象的三个基本要素 id(身份标识)、type(数据类型)和value(值)
在这里插入图片描述
python中每生成一个对象,都要给该对象生成一个身份标识,如下:
在这里插入图片描述

is和==的区别

OK,了解到上面的知识后,我再说一下is和==的区别

is 成立的条件是判断的两个对象是否为相同的身份标识 举个例:
在这里插入图片描述
他们的输出结果都是成立的,说明id相同
在这里插入图片描述

再来试试其他数据类型呢?
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
可以看出 ,当数据是整型和字符串时,他们的身份标识相同,判断成立,而当数据是列表、字典、元祖和集合时,身份标识不同,判断不成立
is也叫同一性运算符,可以判断对象间的唯一标识是否一致,也就是id是否相同

==是python标准操作符中的比较操作符,用来比较判断两个对象的value(值)是否相等,举个例子:
在这里插入图片描述
在这里插入图片描述
由此可以看出 == 只需要对象的value值相等,便可成立!

猜你喜欢

转载自blog.csdn.net/weixin_47074764/article/details/106537028