is and ==

id()函数是查看该对象所在内存地址。每一个对象都有对应的内存地址,如:函数

is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。相似于Java中的equal()和==。反之,is not 用于判断两个变量是否引用自不一样的对象,而 != 用于判断引用变量的值是否不等。测试

在上面的例子中,咱们分别打印了两种运算符的比较结果和内存地址,因此能够得出:code

  • 只要各对象的值同样,则 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 的值相反。
相关文章
相关标签/搜索