python 'is not' operator

后端 未结 4 2002
眼角桃花
眼角桃花 2020-12-13 23:47

I notice there is a comparison operator is not. Should I literally translate it into

!= 

instead of

== not
<         


        
相关标签:
4条回答
  • 2020-12-14 00:10
    A != B
    

    means that "A is not equal to B", not "A is equal to not B".

    0 讨论(0)
  • 2020-12-14 00:22

    To expand on what Ignacio said:

    a == b and a != b test whether two objects have the same value. You can override an object's __eq__ and __ne__ methods to determine what that means.

    a is b and a is not b test whether two objects are the same thing. It's like doing id(a) == id(b)

    0 讨论(0)
  • 2020-12-14 00:23

    It's not relational comparison, it's identity. And it translates to not (A is B).

    0 讨论(0)
  • 2020-12-14 00:27

    python 2.7.3 documentation, 5.9. Comparisons:

    The operators <, >, ==, >=, <=, and != compare the values of two objects.

    and about operator is in the same chapter:

    The operators is and is not test for object identity: x is y is true if and only if x and y are the same object. x is not y yields the inverse truth value.

    0 讨论(0)
提交回复
热议问题