Intenté reemplazar __and__
, pero eso es para el operador &, no y - el que yo quiero. ¿Puedo anular y?¿Alguna manera de anular el operador y en Python?
Respuesta
No puede anular los operadores booleanos and
, or
y not
.
No realmente. No hay un nombre de método especial para los operadores lógicos de cortocircuito.
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).
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
- 1. ¿Cómo anular el operador []?
- 2. ¿Hay alguna manera de anular el operador << en Ruby?
- 3. ¿Hay alguna manera de anular ConfigurationManager.AppSettings?
- 4. ¿Por qué anular el operador()?
- 5. ¿Hay alguna manera de anular strings.xml en res/values?
- 6. ¿Hay alguna manera de anular automáticamente ToString() en una clase?
- 7. Eliminar vs operador eliminar (y el puntero de anular)
- 8. ¿Hay alguna manera de "anular" un método con la reflexión?
- 9. Python: cómo inherite y anular
- 10. Posible anular operador nulo-coalescente?
- 11. ¿Hay alguna manera de anular el constructor vacío en una clase generada por LINQtoSQL?
- 12. ¿Hay alguna desventaja al devolver esto en lugar de anular?
- 13. ¿Hay alguna manera de anular el registro de una propiedad de dependencia de WPF?
- 14. ¿Hay alguna manera de anular el archivo de configuración de CKEditor para cada instancia del editor?
- 15. Anular espacio de nombre en Python
- 16. ¿Alguna manera de anular el nombre de servicio de Windows .NET sin volver a compilar?
- 17. Operador condicional en Python?
- 18. ¿Anular el registro de Python Twisted?
- 19. Dojo y anular el registro de widgets
- 20. ¿Hay alguna manera de acceder al hardware directamente en Python?
- 21. ¿Hay alguna diferencia efectiva entre el operador get y defineProperty?
- 22. Usando el operador AND y NOT en Python
- 23. ¿Hay alguna manera de agregar múltiples receptores en Python SMTPlib?
- 24. ¿Hay alguna manera de dibujar primitivas en 3D con Python?
- 25. ¿Hay alguna manera de mezclar cadenas en Python?
- 26. ¿Hay alguna manera de anular un archivo de estilo bibtex para una entrada en particular?
- 27. ¿Hay alguna manera de identificar un método heredado en Python?
- 28. ¿Existe alguna manera de manejar excepciones en Python?
- 29. Anulando el operador 'to boolean' en python?
- 30. Operador de módulo en Python
Notablemente, [PEP335] (https://www.python.org/dev/peps/pep-0335/) hizo una propuesta y finalmente fue rechazada. – jpmc26