Skip to content
11 / 15

Truthiness в Python и проверка на None: `is None` vs `== None`, falsy values

В Python falsy: False, None, 0, 0.0, "", [], {}, (), set(), range(0) и объекты с __bool__() → False. Всё остальное truthy. Для None всегда используй is None (сравнение по identity), а не == None: is быстрее, не вызывает __eq__ и не врёт на странных объектах. Похоже на JS, но с двумя ключевыми отличиями: пустой массив/объект в JS truthy, в Python — falsy.

Truthiness в Python и проверка на None: `is None` vs `== None`, falsy values | JScriptiser