Middle
¿Cuál es la diferencia entre is y == en Python?
sobes.tech AI
Respuesta de la IA
En Python, el operador is verifica si dos variables apuntan al mismo objeto en memoria (es decir, compara la identidad de los objetos). El operador == verifica la igualdad de los valores de los objetos, es decir, llama al método __eq__ y compara el contenido o la lógica de igualdad.
Ejemplo:
a = [1, 2, 3]
b = a
c = [1, 2, 3]
print(a is b) # True, ya que b hace referencia al mismo objeto
print(a == b) # True, los valores coinciden
print(a is c) # False, objetos diferentes
print(a == c) # True, los valores de las listas son iguales
Por lo tanto, is es una comprobación de identidad (un solo objeto), y == es una comprobación de igualdad por contenido.