Python中的'is not'运算符
我注意到有一个比较运算符叫做 is not
。我应该把它直接翻译成
!=
而不是
== not
吗?
4 个回答
7
这些符号 <, >, ==, >=, <= 和 != 用来比较两个对象的值。
关于is运算符在同一章节中:
is 和 is not 运算符用来检查对象的身份:如果 x 和 y 是同一个对象,那么 x is y 就是真的。相反,x is not y 就是假的。
21
这不是在比较两个东西的关系,而是在比较它们是否是同一个东西。简单来说,就是 not (A is B)
的意思。
72
为了进一步解释一下Ignacio说的内容:
a == b
和a != b
是用来检查两个对象的值是否相同的。你可以通过重写一个对象的__eq__
和__ne__
方法来定义这个“相同”的意思。
a is b
和a is not b
是用来检查两个对象是否是同一个东西。就像在做id(a) == id(b)
一样。