En Python, puede utilizar los operadores no igual a e igual a para comprobar si dos objetos Python tienen el mismo valor. Este tutorial le enseñará a utilizar estos operadores con mucho código de ejemplo.

En este tutorial aprenderá

  • la sintaxis del operador no igual (!=) y casos de uso,
  • la sintaxis del operador igual (==) con ejemplos, y
  • el uso de los operadores es y no es para comprobar la identidad de dos objetos cualquiera de Python.

Empecemos.

Sintaxis del operador no igual de Python

Para dos objetos Python cualesquiera obj1 y obj2, la sintaxis general para utilizar el operador no igual es:

<obj1> != <obj2>
  • devuelve True cuando los valores de obj1 y obj2 no son iguales, y
  • devuelve Falso en caso contrario.

Nota: Como se ha mencionado anteriormente, obj1 y obj2 pueden ser números enteros, números de coma flotante, cadenas, listas, etc.

Ejemplos de código del operador no igual de Python

En esta sección, vamos a codificar algunos ejemplos para entender mejor el operador no igual.

Uso del operador no igual de Python para la comparación

Este es nuestro primer ejemplo

num1 = 27
num2 = 3*9

num1 != num2

# Salida: Falso

Puede ejecutar los ejemplos de código en el IDE de Python de Geekflare, directamentedesde su navegador. O puede optar por ejecutar en su máquina local.

Como num1 = 27, y num2 también se evalúa a 27(3*9 = 27), los valores de num1 y num2 son iguales. Así que el operador != devuelve Falso.

Tomemos otro ejemplo.

En el código siguiente, num1 se establece en 7. Y num2 se establece en la cadena 7. Como son de tipos de datos diferentes, el operador no igual devuelve Verdadero.

num1 = 7 
num2 = "7 
num1 != num2 

# Salida True

Convierta la cadena en un número entero, como se muestra:

num1 = 7
num2 = int("7")

num1 != num2

# Salida: Falso

En este caso, puede ver que el resultado devuelto es Falso , ya que num1 y num2 son ahora iguales al entero 7.

También puede utilizar el operador no igual con colecciones de Python como listas, tuplas y conjuntos.

Nota: Para las colecciones de datos como las listas, el operador no igual funciona comprobando los valores de los elementos individuales. Por ejemplo, dos listas list1 y list2 -cada unade longitud n- soniguales sólo si list1<x>[i]</x> == list2<x>[i]</x> para i en {0,1,2,3,..n-1}.

He aquí un ejemplo:

list1 = [2,4,6,8]
lista2 = [2,4,6,9]

list1 != list2

# Salida: Verdadero

En el ejemplo anterior, lista1 y lista2 sólo difieren en un elemento. Y el operador no igual ! = devuelve True como se esperaba.

Uso del operador no igual de Python en condicionales

A menudo utilizará el operador no igual a como parte de condicionales de Python.

Por ejemplo, el fragmento de código siguiente muestra cómo puede comprobar si un número es impar o no.

Un número que no es divisible uniformemente por 2 es impar. Y esto se reduce a la condición num%2 != 0.

num = 7
if(num%2 != 0):
  print("El número es impar.")
si no:
  print("El número es par.")

# Salida: El número es impar.

También puede utilizar condicionales en las comprensiones de listas cuando desee conservar sólo aquellos elementos de la lista que cumplan una condición específica. En el ejemplo siguiente, impar_10 es la lista de todos los números impares menores que 10.

impar = [num para num en rango(10) si num%2 != 0]
print(impar)

# Salida: [1, 3, 5, 7, 9]

Y eso completa nuestra discusión del operador no igual (!=).✅

Como ya habrá adivinado, el operador igual a produce el efecto contrario al del operador no igual a.

Aprenderá más sobre él en la siguiente sección.

Sintaxis del operador igual a de Python

He aquí la sintaxis para utilizar el operador igual a de Python:

<obj1> == <obj2> #donde <obj1> y <obj2> son objetos Python válidos
  • devuelve True cuando los valores de obj1 y obj2 son iguales, y
  • devuelve False en caso contrario.

Ejemplos de código del operador igual de Python

El operador igual(==) puede utilizarse de forma muy similar al operador no igual.

Codifiquemos los siguientes ejemplos:

  • para comprobar si dos cadenas son iguales,
  • para comprobar si un número es par, y
  • para utilizar condicionales en la comprensión de listas

Uso del operador no igual de Python para la comparación

En el fragmento de código siguiente, str1 y str2 soniguales en términos de valor. Así que el operador igual(==) devuelve Verdadero.

str1 = "codificación"
str2 = "codificación"

str1 == str2

# Salida: Verdadero
python-equals-operator
Operador igual de Python

Utilicemos ahora el operador igual en una expresión condicional.

Nota: Un número que es divisible uniformemente por 2 es par. Y en código, esto se reduce a la condición num%2 == 0

num = 10
if(num%2 == 0):
  print("El número es par.")
si no
  print("El número es impar.")

# Salida: El número es par.

Construyamos ahora sobre este ejemplo, utilicemos la comprensión de listas de Python para obtener todos los números pares menores que 10.

even_10 = [num for num in range(10) if num%2 == 0]
print(aun_10)

# Salida: [0, 2, 4, 6, 8]

En el ejemplo anterior

  • range( 10) devuelve un objeto range que puede recorrerse en bucle para obtener todos los enteros de 0 a 9.
  • La condición num%2 == 0 es Verdadera sólo para los números pares.
  • Así que even_10 es la lista de todos los números pares menores que 10.

Hasta ahora ha aprendido a comprobar la igualdad utilizando los operadores no igual (!=) e igual (==).

En la siguiente sección, aprenderá a verificar la identidad de dos objetos. Comprobará si dos objetos Python son idénticos.

Cómo utilizar los operadores is e is not de Python

Si es un principiante en la programación en Python, es posible que esté confundido entre los operadores == e is. Vamos a aclararlo en esta sección.

En la sección anterior, teníamos un ejemplo en el que str1 y str2 eran iguales y el operador == devolvía Verdadero.

Ahora ejecute el siguiente fragmento de código.

str1 = "codificación" 
str2 = "codificación" 

str1 es str2 

# Salida: Falso

Puede ver que str1 es str2 devuelve False.

Demos un paso atrás y entendamos lo que hace el operador is de Python.

El operador is opera sobre dos objetos Python cualesquiera.
Y devuelve True sólo si los dos objetos son idénticos,es decir, se refieren al mismo objeto en memoria.

Aunque str1 sea igual a str2, str1 no es str2 ya que apuntan a dos objetos diferentes en memoria. Y por lo tanto, tienen identidades diferentes.

python-is-operator
== e is NO son lo mismo

En Python, puede utilizar la función id() para obtener la identidad del objeto.

▶ Ejecute la siguiente celda de código para obtener las identidades de str1 y str2.

id(str1)

# Salida de ejemplo: 139935398870320

id(str2)

# Salida de muestra: 139935398871344

Como puede ver, str1 y str2 tienen identidades diferentes. Y str1 es str2 devuelve False como se esperaba.

Juntando todo,

<obj1> es <obj2> # devuelve Verdadero si y sólo si
id(<obj1>) == id(<obj2>) # devuelve Verdadero

Verifiquemos esto rápidamente, como se muestra:

str1 = "codificación"
str2 = str1

print(str1 es str2)
print(id(str1) == id(str2))

# Salida
Verdadero
Verdadero

Intuitivamente, el operador is not hace lo contrario que el operador is.

El operador is not opera sobre dos objetos Python cualesquiera.
Y devuelve False sólo si los dos objetos son idénticos,es decir, se refieren al mismo objeto en memoria. En caso contrario, devuelve True.

En los ejemplos de código anteriores, pruebe a sustituir is por is not y compruebe los resultados.

Conclusión 👩‍💻

Espero que este tutorial le haya resultado útil.

En resumen, ha aprendido

  • cómo utilizar los operadores igual (==) y no igual (¡!=) para comprobar si dos objetos Python tienen el mismo valor,
  • la diferencia entre igualdad e identidad de objetos Python, y
  • cómo los operadores es y no es de Python ayudan a comprobar si dos objetos Python son idénticos.

Aprenda a calcular la diferencia horaria o a hacer un juego de la serpiente en python aquí.

Nos vemos en el próximo tutorial. Hasta entonces, ¡feliz aprendizaje y codificación!🎉