все Python 3operatorфункция
operator.and_
битовые
Побитовое И: a & b (подчёркивание в имени — чтобы не совпасть с ключевым словом `and`).
Синтаксис
operator.and_(a, b)
Это побитовое &, а не логическое and: оба аргумента вычисляются всегда, короткого замыкания нет, и результат другой — and_(2, 1) даёт 0, а 2 and 1 даёт 1. Для множеств and_ — пересечение, для bool — логическое И без замыкания. Чтобы проверить, что истинны все элементы, нужна all(), а не reduce с and_.
Примеры
import operator
import functools
print(operator.and_(5, 3)) # → 1
print(operator.and_(5, 3) == 5 & 3) # → True
print(operator.and_(2, 3) == (2 and 3)) # → False
print(functools.reduce(operator.and_, [0b1110, 0b1011, 0b0111])) # → 2
print(operator.and_(True, False)) # → False
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности