2.1.3 Comparaciones

Todos los objetos se pueden comparar. Todos tienen la misma prioridad (que es mayor que la de las operaciones booleanas). Las comparaciones se pueden encadenar de manera arbitraria: Por ejemplo, x < y <= z equivale a x < y and y <= z, salvo que y se evalúa sólo una vez (pero en cualquiera de los dos casos z no se evalúa en absoluto cuando x < y resulta falso).

Esta tabla resume las operaciones de comparación:

Operación  Significado  Notas 
< estrictamente menor que  
<= menor o igual que  
> estrictamente mayor que  
>= mayor o igual que  
== igual a  
!= no igual a (1)
<> no igual a (1)
is identidad de objetos  
is not no identidad de objetos  

Notas:

(1)
<> y != son dos maneras diferentes de escribir el mismo operador. (¡Me fue imposible elegir entre ABC y C! :-) != es la manera preferente; <> esta destinada a la obsolescencia.

Los objetos de tipos diferentes, salvo los tipos numéricos, nunca resultan iguales al compararlos. Dichos objetos (los no numéricos) tienen un orden consistente, aunque arbitrario (por lo que al ordenar un conjunto de objetos siempre obtendremos el mismo resultado). Además, algunos tipos (por ejemplo, los objetos fichero) sólo soportan una noción degenerada de comparación, en la que dos objetos son siempre diferentes. De nuevo, estos objetos se ordenan de manera arbitraria, aunque consistente.

Las instancias de una clase no resultan iguales normalmente, salvo que la clase defina el método __cmp__(). Consúltese el Manual de referencia de Python para obtener más información sobre el uso de este método para efectuar comparaciones entre objetos.

Nota de implementación: Los objetos de tipos diferentes, salvo los numéricos, se ordenan por su nombre de tipo; los objetos del mismo tipo que no tengan una ordenación práctica se comparan por su dirección en memoria.

Hay dos operaciones más para los tipos secuencia. Tienen la misma prioridad sintáctica y son: "in" y "not in" (se explican más adelante).


Ver Sobre este documento... para obtener información sobre sugerencias.