[pyar] Por qué no se puede extender la clase bool?
Juanjo Conti
jjconti en gmail.com
Sab Jun 16 08:42:40 ART 2012
Estoy escribiendo el capítulo 5 (Limitaciones) de mi tesis de maestría
sobre taintmode[1].
Una de las limitaciones es que la biblioteca, que extiende
automáticamente clases built-in de Python para hacerlas capaces de
trackear manchas, no puede extender bool.
Busco en Google: python cant extende bool
El primer resultado es de Stack Overflow. Excelente, pienso. Hasta que
veo que el que pregunta es mi yo del pasado :)[2]
Una respuesta que cita a Guido está buena:
'''
I thought about this last night, and realized that you shouldn't be
allowed to subclass bool at all! A subclass would only be useful when
it has instances, but the mere existance of an instance of a subclass
of bool would break the invariant that True and False are the only
instances of bool! (An instance of a subclass of C is also an instance
of C.) I think it's important not to provide a backdoor to create
additional bool instances, so I think bool should not be subclassable.
'''
Aunque es una pena, a los fines prácticos de la bibliotca resulta que
no es tan grave ya que, como dice Martelli:
'''
..."a and b" is always identical to "b if a else a" for any "a and b"
(no bool coercion involved...
'''
Saludos,
[1] http://www.juanjoconti.com.ar/taint/
[2] http://stackoverflow.com/questions/2172189/why-i-cant-extend-bool-in-python
--
Juanjo Conti
blog: http://www.juanjoconti.com.ar
More information about the pyar
mailing list