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
yno 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 deobj1
yobj2
no son iguales, y - devuelve
Falso
en caso contrario.
Nota: Como se ha mencionado anteriormente,
obj1
yobj2
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
ylist2 -cada una
de longitudn- son
iguales sólo silist1<x>[i]</x> == list2<x>[i]</x>
parai
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 deobj1
yobj2
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 son
iguales en términos de valor. Así que el operador igual(==
) devuelve Verdadero
.
str1 = "codificación"
str2 = "codificación"
str1 == str2
# Salida: Verdadero
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
esVerdadera
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 devuelveTrue
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.
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 devuelveFalse
sólo si los dos objetos son idénticos,es decir, se refieren al mismo objeto en memoria. En caso contrario, devuelveTrue
.
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
yno 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!🎉