Python 'Is Not' Operator

Python 'Is Not' Operator

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

!= 

instead of

== not
3

4 Answers

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)

6

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

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.

A != B

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

4

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

David Miller
Author

David Miller

David Miller brings 15 years of experience in global economics, personal finance strategy, and market dynamics. He specializes in turning complex economic trends into actionable insights for everyday readers.