Sobes.tech
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.