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Сообщить о неточности