2009-01-23 13 views

Respuesta

19

No puede anular los operadores booleanos and, or y not.

+3

Notablemente, [PEP335] (https://www.python.org/dev/peps/pep-0335/) hizo una propuesta y finalmente fue rechazada. – jpmc26

1

No realmente. No hay un nombre de método especial para los operadores lógicos de cortocircuito.

31

No, no puede anular and y or. Con el comportamiento que estos tienen en Python (es decir, en cortocircuito), se parecen más a las herramientas de flujo de control que a los operadores y anularlos sería más como anular if que + o -.

Usted puede influir en el valor de verdad de sus objetos (es decir, si se evalúan como verdadero o falso) reemplazando __nonzero__ (o __bool__ en Python 3).

+0

La semántica del flujo de control (evaluación diferida del lado derecho) aún podría mantenerse haciendo que la sobrecarga sea un operador binario, donde el lado derecho pasa como un valor invocable en lugar de como un valor. – DRayX

Cuestiones relacionadas