Comparando cadenas: continuación
Aún si una cadena contiene solo dígitos, todavía no es un número. Se interpreta como lo que es, como cualquier otra cadena regular, y su aspecto numérico (potencial) no se toma en cuenta, en ninguna manera.
Mira los ejemplos:
'10' == '010'
'10' > '010'
'10' > '8'
'20' < '8'
'20' < '80'
Producen los siguientes resultados:
False
True
False
True
True
Comparar cadenas contra números generalmente es una mala idea.
Las únicas comparaciones que puede realizar con impunidad son aquellas simbolizadas por los operadores ==
y !=
. El primero siempre devuelve False
, mientras que el segundo siempre devuelve True
.
El uso de cualquiera de los operadores de comparación restantes generará una excepción TypeError.
Vamos a verlo:
'10' == 10
'10' != 10
'10' == 1
'10' != 1
'10' > 10
Los resultados en este caso son:
False
True
False
True
TypeError exception
Ejecuta todos los ejemplos y realiza más experimentos.