Cómo usar los operadores de Python no iguales e iguales

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

En este tutorial aprenderás:

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

Empecemos.

Sintaxis del operador Python no igual

Para cualquiera de los dos objetos de Python obj1 y obj2 , la sintaxis general para usar el operador no igual es:

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

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

Ejemplos de código de operador no igual de Python

En esta sección, codifiquemos algunos ejemplos para comprender mejor el operador no igual.

Usando Python Operador No Igual para la Comparación

Aquí está nuestro primer ejemplo.

num1 = 27
num2 = 3*9

num1 != num2

# Output: False

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

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

Tomemos otro ejemplo.

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

num1 = 7 
num2 = "7" 
num1 != num2 

# Output: True

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

num1 = 7
num2 = int("7")

num1 != num2

# Output: False

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

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

Nota: Para colecciones de datos como listas, el operador no igual funciona verificando los valores de los elementos individuales. Por ejemplo, dos listas lista1 y lista2, cada una de longitud n, son iguales solo si lista1[i] == lista2[i] para i en {0,1,2,3,..n-1}.

Aquí hay un ejemplo:

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

list1 != list2

# Output: True

En el ejemplo anterior, list1 y list2 difieren en un solo elemento. Y el operador no igual != devuelve True como se esperaba.

Usando Python Operador No Igual en Condicionales

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

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

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

num = 7
if(num%2 != 0):
  print("The number is odd.")
else:
  print("The number is even.")

# Output: The number is odd.

También puede usar condicionales en lista de comprensiones cuando desea conservar solo los elementos de la lista que cumplen una condición específica. En el siguiente ejemplo, impar_10 es la lista de todos los números impares menores que 10.

odd = [num for num in range(10) if num%2 != 0]
print(odd)

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

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

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

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

Sintaxis del operador igual de Python

Aquí está la sintaxis para usar el operador igual a de Python:

<obj1> == <obj2>  #where <obj1> and <obj2> are valid Python objects
  • devuelve True cuando los valores de obj1 y obj2 son iguales, y
  • devuelve False en caso contrario.

Ejemplos de código de operador igual de Python

El operador igual (==) se puede usar de manera 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
  • usar condicionales en la comprensión de listas

Usando Python Operador No Igual para la Comparación

En el fragmento de código siguiente, str1 y str2 son iguales en términos de valor. Entonces el operador igual (==) devuelve True.

str1 = "coding"
str2 = "coding"

str1 == str2

# Output: True

Operador igual de Python

Ahora usemos el operador igual en una expresión condicional.

Nota: Un número que es divisible 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("The number is even.")
else:
  print("The number is odd.")

# Output: The number is even.

Ahora construyamos sobre este ejemplo, use la comprensión de lista 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(even_10)

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

En el ejemplo anterior,

  • range(10) devuelve un objeto de rango que se puede recorrer para obtener todos los números enteros del 0 al 9.
  • La condición num%2 == 0 es verdadera solo para números pares.
  • Entonces even_10 es la lista de todos los números pares menores que 10.

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

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

Cómo usar los operadores is y not de Python

Si es un principiante en la programación de Python, es posible que esté confundido entre los operadores == y is. Aclaremos eso 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 True.

Ahora ejecute el siguiente fragmento de código.

str1 = "coding" 
str2 = "coding" 

str1 is str2 

# Output: False

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 en cualquiera de los dos objetos de Python.
Y devuelve True solo si los dos objetos son idénticos, es decir, se refieren al mismo objeto en la memoria.

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

== y NO son lo mismo

En Python, puede usar el identificación() función para obtener la identidad del objeto.

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

id(str1)

# Sample output: 139935398870320

id(str2)

# Sample output: 139935398871344

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

Poniendo todo junto,

<obj1> is <obj2> # returns True if and only if
id(<obj1>) == id(<obj2>) # returns True

Verifiquemos esto rápidamente, como se muestra:

str1 = "coding"
str2 = str1

print(str1 is str2)
print(id(str1) == id(str2))

# Output
True
True

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

El operador is not opera en cualquiera de los dos objetos de Python.
Y devuelve False solo si los dos objetos son idénticos, es decir, se refieren al mismo objeto en la memoria. De lo contrario, devuelve True.

En los ejemplos de código anteriores, intente reemplazar is con not y verifique los resultados.

Conclusión 👩‍💻

Espero que hayas encontrado útil este tutorial.

Para resumir, has aprendido:

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

Aprende cómo calcular la diferencia horaria o hacer un juego de serpientes en python aquí.

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