Python Glossary English

Python 3.14+operatorфункция

operator.is_not_none

тождество и логика

Возвращает a is not None — функциональная форма проверки «значение задано»; удобен как предикат для filter(). Появилась в Python 3.14.

Синтаксис

operator.is_not_none(a)

В отличие от filter(None, xs), filter(operator.is_not_none, xs) оставляет 0, пустые строки и False — выбрасывает только None. Это частая ошибка при очистке данных, где ноль — законное значение. На версиях до 3.14 тот же предикат даёт partial(operator.is_not, None).

Примеры

import operator
f = getattr(operator, 'is_not_none', lambda a: a is not None)  # 3.14+ или аналог
print(f(None))                              # → False
print(f(0))                                 # → True
print(list(filter(f, [1, None, 2, None])))  # → [1, 2]
print([f(x) for x in ('', None, 0)])        # → [True, False, True]

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности