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? -- http://mail.python.org/mailman/listinfo/python-list