Функции operator.and_
и operator.or_
эквивалентны побитовым"и" функциям "и" или "соответственно.В operator
нет функций, представляющих операторы and
и or
, но вы можете вместо них использовать встроенные модули any()
и all()
.Они будут принимать одну последовательность в качестве аргумента, но вы можете просто передать кортеж из двух записей, чтобы использовать их в качестве бинарных операторов.
Обратите внимание, что невозможно точно сопоставить логику and
и or
с любой функцией, которую вы вызываете.Например,
False and sys.stdout.write("Hello")
никогда ничего не печатает, в то время как
f(False, sys.stdout.write("Hello"))
всегда печатает вывод, независимо от того, как определено f()
.Это также причина, по которой они опущены в operator
.