python 中is 和 ==的区别

Posted 宇宙上的alpha

tags:

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

is 表示的是对象标示符(object identity),作用是用来检查对象的标示符是否一致,也就是比较两个对象在内存中的地址是否一样

而 == 表示相等(equality), == 是用来检查两个对象是否相等

我们在检查 a is b 的时候,其实相当于检查 id(a) == id(b)。而检查 a == b 的时候,实际是调用了对象 a 的 __eq()__ 方法,a == b 相当于 a.__eq__(b)

is 判断两个数值的内存地址是否一样,而==仅仅判断他们是否相等

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

python中is和==的区别

Python 中 is 和 == 的区别

基础篇Python中is和==的区别

Python is 和 == 区别

Python中 is 和 == 区别

Python 中 is 和 == 的区别