Сравнение Pycharm с None выполняется с помощью операторов равенства - PullRequest
0 голосов
/ 20 февраля 2019

Я использую python 3.6 и pycharm.

Одна из моих строк кода говорит:

If oim.sent != None:

Pycharm выдает следующее очень строго сформулированное предупреждение:

Сравнения такого типа всегда должны выполняться с «есть» или «нет», а не с операторами равенства.

Однако я использую эту строку кода для различения значений, которые None и значения, которые False - Правильно ли я пишу эту строку таким образом, или это действительно так, что вам НИКОГДА не следует использовать операторы равенства с None?

РЕДАКТИРОВАТЬ:

Я неверно истолковалпредупреждение.Я подумал, что он инструктирует меня использовать if not oim.sent:, что, конечно, не будет различаться между None и False - однако, как показывают ответы, правильное выражение будет if oim.sent is not None:

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Конечно, вы можете использовать != None, однако

if oim.sent is not None:

быстрее и идиоматичнее Python, так что все будут знать, что вы знаете, что делаете; -)

0 голосов
/ 20 февраля 2019

Это просто предупреждение, потому что вы не следуете правилам Python.Ваш код будет работать нормально.Если хотите, лучше используйте:

if oim.sent is not None:

...