is and ==
id()
函数是查看该对象所在内存地址。每个对象都有对应的内存地址,如:
is
用于判断两个变量引用对象是否为同一个, ==
用于判断引用变量的值是否相等。类似于Java中的equal()和==。反之,is not
用于判断两个变量是否引用自不同的对象,而 !=
用于判断引用变量的值是否不等。
在上面的例子中,我们分别打印了两种运算符的比较结果和内存地址,所以可以得出:
- 只要各对象的值一样,则 x == y 的值一定为True;
- 如果对象的类型为整数或字符串且值一样,则 x == y和 x is y 的值为True。(经测试浮点型数值,只有正浮点数符合这条规律,负浮点数不符合);
- list,tuple,dict,set值一样的话,x is y 则为False;
- x == y 与 x != y 的值相反,x is y 与 x is not y 的值相反。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步