[py]python中的==和is的区别

Posted 毛台

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[py]python中的==和is的区别相关的知识,希望对你有一定的参考价值。

is比较id

id(a) == id(b) == id(c)
a is d #false

==比较值

a==b #true

举个例子:a = 1
b = a
c = 1
d = 1.0
这里有3个对象abc,类型都是int。值都是1。id(a)   # 35556792L
id(b)   # 35556792L
id(c)   # 35556792L
id(d)   # 21253459L

本例中,毫无疑问,3兄弟abc都是引用的同一个地址35556792L下的内容。当你想判断a is b的时候,实际上比较的是id(a)==id(b)。结果为True。
当你写成a==b时候,实际上比较的是id(a)这个地址指向的值是不是和id(b)这个地址指向值一样。结果为True。
同理,如果你写的是a is d,那么结果就是False。而此时,a==d,结果却是True,因为值是一样的。

以上是关于[py]python中的==和is的区别的主要内容,如果未能解决你的问题,请参考以下文章

python 基础篇 06 编码 以及小知识点补充

python学习之旅-06 之小数据池,编码

Error: Python executable “H:devpython3.10python.EXE“ is v3.10.0, which is not supported by gyp.(代码片段

Python中的is和==的区别,is判断值是否相等,id判断地址是否一致

关于python中的is和==的区别

python中的 == 和 is 的区别