[Python-es] None < 0

Chema Cortes pych3m4 en gmail.com
Mie Jun 5 18:20:27 CEST 2013


El día 5 de junio de 2013 04:45, Jesus Cea <jcea en jcea.es> escribió:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 05/06/13 02:08, Ignacio Rodríguez wrote:
>> Ya que estamos.. ¿Esto es normal?
>>
>> Me sorprende :P
>>
>> "" > float("inf") True
>
> En Python 2.x, objetos de distinto tipo se comparan de forma
> "extraña". Es un detalle de implementación que no tiene sentido y *NO*
> debería utilizarse, porque el resultado no está garantizado y,
> matemáticamente, no tiene sentido.

Por puntualizar, en python2 las comparaciones entre "tipos" no
comparables se realiza según el nombre del tipo.

Así "" > float("int") es True por ser  "str" > "float"

Pero es aún más extraño que sea  (1,) > [2]  por ser "tuple" > "list"
y supongo que habrá más de un código que falle en tonterías así.


>
> En Python 3.x, estas comparaciones dan error, cuando los tipos no son
> comparables. Un entero y un coma flotante se pueden comparar, pero un
> entero y una cadena no, por ejemplo:
>



--
Hyperreals *R: http://ch3m4.org/blog
Quarks, bits y otras criaturas infinitesimales


Más información sobre la lista de distribución Python-es