python 中is 和 ==的区别

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

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

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

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

原文地址:https://www.cnblogs.com/lyt-666/p/12017465.html