Просто педантичное примечание: оператор <>
в некотором смысле ошибочно назван (неверно обозначен?). a <> b
, естественно, можно интерпретировать как значение a < b or a > b
(конечно, оценивая a
и b
только один раз), но, поскольку не все упорядочения являются полными, это не соответствует фактической семантике. Например, 2.0 != float('nan')
- это истина, а 2.0 < float('nan') or 2.0 > float('nan')
- это ложь.
Оператор !=
не может быть неверно истолкован.
Интересный рассказ (со стихами!) О решении отказаться от <>
для Python 3.x см. Реквием по оператору .