Python (или общее программирование). Зачем использовать <> вместо! = И есть ли риски? - PullRequest
5 голосов
/ 22 февраля 2010

Я думаю, что если я правильно понимаю, a <> b - это то же самое, что и a != b, и в Python not a == b, но есть ли причина использовать <> над другими версиями? Я знаю, что распространенная ошибка для новичков в Python - думать, что not a is b совпадает с a != b или not a == b.

  1. Встречаются ли подобные заблуждения с <>, или это точно так же функционально?
  2. Стоит ли больше памяти, процессора и т. Д.

Ответы [ 3 ]

15 голосов
/ 22 февраля 2010

<> в Python 2 является точным синонимом для != - никаких оснований для его использования, никаких недостатков, кроме беспричинной неоднородности (проблема стиля). Это долго не поощрялось, и теперь было удалено в Python 3.

8 голосов
/ 22 февраля 2010

Просто педантичное примечание: оператор <> в некотором смысле ошибочно назван (неверно обозначен?). 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 см. Реквием по оператору .

0 голосов
/ 22 февраля 2010

Вы не должны использовать <> в Python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...