El operador de igualdad (==) es un operador de comparación en Python que compara los valores de los operandos y verifica la igualdad de valores. Mientras que el operador ‘ es’ es el operador de identidad que verifica si ambos operandos se refieren al mismo objeto o no (presente en la misma ubicación de memoria).
Ilustración:
# Equality operator >>> a=10 >>>b=10 >>>a==b True >>>a=10 >>>id(a) 2813000247664 >>>b=10 2813000247664 # Both a and b is pointing to the same object >>>a is b True >>>c=a # Here variable a is assigned to new variable c, which holds same object and same memory location >>> id(c) 2813000247664 >>>a is c True
Ejemplo 1:
Python3
# python3 code to # illustrate the # difference between # == and is operator # [] is an empty list list1 = [] list2 = [] list3=list1 if (list1 == list2): print("True") else: print("False") if (list1 is list2): print("True") else: print("False") if (list1 is list3): print("True") else: print("False") list3 = list3 + list2 if (list1 is list3): print("True") else: print("False")
Producción:
True False True False
- La salida del primero si la condición es «Verdadera», ya que tanto list1 como list2 son listas vacías.
- Segundo , si la condición muestra «Falso» porque dos listas vacías están en diferentes ubicaciones de memoria. Por lo tanto, list1 y list2 se refieren a diferentes objetos. Podemos verificarlo con la función id() en python que devuelve la «identidad» de un objeto.
- La salida del tercero si la condición es «Verdadera», ya que tanto list1 como list3 apuntan al mismo objeto.
- La salida del cuarto si la condición es «Falsa» porque la concatenación de dos listas siempre produce una nueva lista.
Ejemplo 2
Python3
list1 = [] list2 = [] print(id(list1)) print(id(list2))
Producción:
139877155242696 139877155253640
Esto muestra que list1 y list2 se refieren a diferentes objetos.
Publicación traducida automáticamente
Artículo escrito por Kuldip Kumar 1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA