"is not" operator?

sturlamolden sturlamolden at yahoo.no
Thu Jul 8 16:10:30 EDT 2010


What happens here? Does Python (2.6.5) have an "is not" operator?

>>> a = 5
>>> print (a is not False)
True
>>> print (a is (not False))
False
>>> print (not (a is False))
True

It seems "y is not x" fits well with spoken English, but it is also a
bit surprising that "y is not x" does not mean "y is (not x)" but "not
(y is x)". Why does Python reorder is and not operators, and what are
the formal rules for this behavior?

















More information about the Python-list mailing list