Operadores de Comparación en Python: Guía Completa con Ejemplos Prácticos

Los operadores de comparación en Python son fundamentales para evaluar relaciones entre valores y tomar decisiones en nuestros programas. En total, existen ocho operadores de comparación que se pueden utilizar con diferentes tipos de datos, aunque siempre es recomendable comparar datos del mismo tipo. Por ejemplo, una cadena de texto (str) debe compararse con otra cadena, y un número entero (int) con otro número. Intentar mezclar tipos puede causar errores en el código.

En este artículo, aprenderás cómo funcionan estos operadores en Python, cómo usarlos correctamente y algunos errores comunes que debes evitar.

¿Qué son los operadores de comparación en Python?

Los operadores de comparación en Python se utilizan para comparar dos valores. El resultado de la comparación es siempre un valor booleano: True si la comparación es cierta o False si es falsa. Estos operadores son esenciales para evaluar condiciones en estructuras de control como los bucles o las sentencias condicionales (if, while, etc.).

Tipos de Operadores de Comparación en Python

A continuación, verás los operadores de comparación disponibles en Python, junto con ejemplos claros y explicaciones detalladas.

Mayor que (>)

El operador mayor que se utiliza para verificar si el valor a la izquierda es estrictamente mayor que el valor a la derecha.

5 > 1		# True

En el caso de las cadenas de texto, la comparación se realiza utilizando el orden lexicográfico (alfabético), basándose en el valor ASCII de los caracteres.

"b" > "a"   # True

Aquí, la letra “b” tiene un valor ASCII mayor que “a”, por lo tanto la comparación devuelve True.

Menor que (<)

Este operador evalúa si el valor a la izquierda es estrictamente menor que el de la derecha.

3 < 7 # True

En el caso de los booleanos, True se evalúa como 1 y False como 0, por lo que:

True < False	# False, porque True se evalúa como 1 y False como 0

La comparación anterior equivale a evaluar 1 < 0, lo cual es falso.

Mayor o igual que (>=)

Este operador verifica si el valor a la izquierda es mayor o igual que el de la derecha. Es útil cuando se necesitan comparaciones inclusivas.

12.3 >= 12.3	# True

Este ejemplo muestra que 12.3 es igual a 12.3, por lo que la comparación devuelve True.

Menor o igual que (<=)

Verifica si el valor a la izquierda es menor o igual que el de la derecha.

1_234 <= 3_456_789	# True

Aquí, 1,234 es claramente menor que 3,456,789, así que devuelve True.

Igual que (==)

Este operador verifica si dos valores son iguales. A diferencia de otros lenguajes de programación, en Python no se requiere que los valores sean del mismo tipo para compararlos, pero si los tipos son diferentes, la comparación resultará en False. Sin embargo, Python considera equivalentes ciertos tipos, como los números enteros y los de punto flotante.

None == None		# True

Nota: No debes confundir el operador == con =. El primero es para comparar valores, mientras que el segundo se utiliza para asignar valores a variables.

Distinto que (!=)

Este operador devuelve True si los valores son diferentes.

(3 + 5) != 8	# False

Aquí, como la suma de 3 + 5 es igual a 8, la comparación devuelve False.

Identidad: is y is not

Los operadores is y is not se utilizan para verificar si dos variables hacen referencia al mismo objeto en memoria (no solo si tienen el mismo valor).

x = [1, 2, 3]
y = x
z = [1, 2, 3]

x is y   # True, porque y es la misma lista que x
x is z   # False, porque aunque los valores son iguales, z es un objeto diferente

De manera similar, is not verifica si dos variables no hacen referencia al mismo objeto:

x is not z   # True

¿Cuándo usar is en lugar de ==?

Utiliza is para comparar si dos objetos son el mismo en memoria. Para comparar valores, es mejor usar ==.

Ejemplos Prácticos de Comparación en Python

A continuación, te mostramos ejemplos prácticos de cómo puedes utilizar los operadores de comparación en escenarios del mundo real.

Comparación de edades

age_user_1 = 20
age_user_2 = 22

if age_user_1 < age_user_2:
	print("The user 1 is the younger one")

Este código compara las edades de dos usuarios y muestra quién es más joven.

Comparación en listas y diccionarios

En Python, también puedes comparar listas y diccionarios. Sin embargo, es importante tener en cuenta que las listas se comparan elemento por elemento, mientras que los diccionarios se comparan a través de sus claves y valores.

list_1 = [1, 2, 3]
list_2 = [1, 2, 4]

list_1 < list_2 	# True, porque 3 < 4

Errores Comunes al Usar Operadores de Comparación

Un error común en Python es intentar comparar tipos incompatibles, lo que lanzará un TypeError.

3 > "5" # TypeError: '>' not supported between instances of 'int' and 'str'

Para evitar estos errores, asegúrate de que las variables que estás comparando sean del mismo tipo.

Comparación de Números Flotantes

Los números flotantes pueden ser imprecisos debido a su representación interna, por lo que a menudo es necesario utilizar una tolerancia al compararlos.

abs(0.1 + 0.2 - 0.3) < 0.00001 # True

Este ejemplo asegura que el margen de error es lo suficientemente pequeño para considerar los números como iguales.

Preguntas Frecuentes

¿Cuál es la diferencia entre is y == en Python?
== compara si los valores de dos variables son iguales, mientras que is verifica si ambos apuntan al mismo objeto en memoria.

¿Puedo usar operadores de comparación en listas?
Sí, Python permite comparar listas elemento por elemento en orden lexicográfico.

¿Qué sucede si comparo diferentes tipos de datos?
Python lanzará un TypeError si intentas comparar tipos incompatibles, como un str y un int.

¿Cómo se comparan las cadenas en Python?
Las cadenas se comparan utilizando el valor ASCII de cada carácter. Por ejemplo, "a" < "b" devuelve True porque el valor ASCII de “a” es menor que el de “b”.

¿Se pueden usar operadores de comparación con None?
Sí, puedes comparar None con otros valores usando is o ==. Por ejemplo, variable is None es una manera común de verificar si una variable está vacía.

Conclusión sobre los operadores de comparación en Python

Dominar los operadores de comparación en Python es esencial para cualquier programador. Ya sea que estés evaluando números, cadenas o listas, entender cómo funcionan estos operadores te permitirá escribir código más eficiente y legible. ¡Practica estos conceptos en tus propios programas para reforzar tu comprensión!

¿Conoces los operadores aritméticos en Python? Mira este artículo donde se explican de una forma sencilla.

You May Also Like