Я пытаюсь найти функциональный эквивалент логических операторов в Python (например, и/или/нет). Я думал, что нашел их в модуле operator
, но поведение отличается от других.Функциональный эквивалент логике Statement Python
Например, оператор and
выполняет поведение, которое я хочу, тогда как operator.and_
, по-видимому, требует явного сравнения типов, иначе он выдает исключение TypeError.
>>> from operator import *
>>> class A: pass
...
>>> and_(A(), True)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for &: 'instance' and 'bool'
>>> A() and True
True
Есть ли что-то вроде operator
модуля, но содержащие функций, которые соответствуют поведению заявления логики Пайтона именно?
Почему бы вам не свернуть? 'def и_ (p1, p2): return p1 и p2' – rossipedia
@Bryan: Легко, да, но OP делает это правильно (tm) и просит использовать существующее колесо, прежде чем изобретать его (даже если это займет всего несколько секунд) , – delnan