Перейти к содержимому
11 / 15

Истинность значений (truthiness) в Python и проверка на None: `is None` против `== None`, «ложные» значения

В 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` против `== None`, «ложные» значения | JScriptiser