From now on, for each operator I would have to remember wether it
is a supposedly comparison operator or not.

I believe the following rule is true: if a op b is True or False raises, then op is a potentially chained comparison operation. They are (not) equal (and (not) is), the 4 order comparisons, and (not) in. 'in' should be the only surprise and most confusing.
>>> 1 < 3 in {3,4}
True
>>> 3 in {3,4} < {4}
False

'and' and 'or' are not included because they do not always return a bool, and indeed, they are not binary operators in the usual sense because of short-circuiting.

--
Terry Jan Reedy



--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to