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