is和==的区别
python中有很多的运算符,其中is和==在面试中常常被提到,所以,今天就总结了他俩的区别
首先要知道
在讲python中is和==的区别之前,首先要了解 Python中对象的三个基本要素 id(身份标识)、type(数据类型)和value(值)
python中每生成一个对象,都要给该对象生成一个身份标识,如下:
is和==的区别
OK,了解到上面的知识后,我再说一下is和==的区别
is 成立的条件是判断的两个对象是否为相同的身份标识 举个例:
他们的输出结果都是成立的,说明id相同
再来试试其他数据类型呢?
可以看出 ,当数据是整型和字符串时,他们的身份标识相同,判断成立,而当数据是列表、字典、元祖和集合时,身份标识不同,判断不成立
is也叫同一性运算符,可以判断对象间的唯一标识是否一致,也就是id是否相同
==是python标准操作符中的比较操作符,用来比较判断两个对象的value(值)是否相等,举个例子:
由此可以看出 == 只需要对象的value值相等,便可成立!