python'不是'运营商

时间:2010-12-19 21:22:51

标签: python

我注意到有一个比较运算符is not。我应该把它翻译成

!= 

而不是

== not

4 个答案:

答案 0 :(得分:57)

扩展Ignacio所说的内容:

a == ba != b测试两个对象是否具有相同的。您可以覆盖对象的__eq____ne__方法,以确定其含义。

a is ba is not b测试两个对象是否相同。这就像做id(a) == id(b)

答案 1 :(得分:16)

这不是关系比较,而是身份。它转换为not (A is B)

答案 2 :(得分:5)

python 2.7.3 documentation, 5.9. Comparisons

  

运算符<,>,==,> =,< =和!=比较两个对象的值。

关于运算符 在同一章节中:

  

运算符是和不测试对象标识:当且仅当x和y是同一个对象时,x是y才为真。 x不是y产生反向真值。

答案 3 :(得分:1)

A != B

表示“A 不等于 B”,而不是“A 等于 B”。