Python: if not val, vs if val is None

Я всегда кодировал в стиле if not value , однако несколько руководств обратили мое внимание на то, что, хотя этот стиль работает, у него есть две потенциальные проблемы:

  1. Это не совсем читается; , если значение None, , безусловно, более понятно.
  2. Это может иметь последствия позже (и вызывать небольшие ошибки), поскольку такие вещи, как [] и 0 будут оцениваться как Также False .

Я также начинаю применять эту идею к другим сравнениям, таким как:

  • если не значение vs , если значение равно False
  • если не значение vs , если значение равно []

Итак, список ...

Вопрос в том, как далеко вы зашли с принципом? Где провести линию, сохранив при этом код в безопасности?

Следует ли мне всегда использовать стиль , если значение равно Нет , несмотря ни на что?

45
задан John Doe 22 August 2011 в 19:20
поделиться