Sobes.tech
Junior — Middle

Podes explicar qual é a diferença entre o operador de comparação == e o operador de identidade is em Python?

sobes.tech IA

Resposta da IA

Em Python, o operador == verifica a igualdade de valores dos objetos, ou seja, compara o conteúdo ou estado dos objetos. Por exemplo, duas strings diferentes com o mesmo texto serão iguais com ==.

O operador is verifica a identidade dos objetos — indica se ambas as variáveis referenciam o mesmo objeto na memória.

Exemplo:

a = [1, 2, 3]
b = a
c = [1, 2, 3]

print(a == c)  # True, porque as listas contêm os mesmos elementos
print(a is c)  # False, objetos diferentes
print(a is b)  # True, ambas as variáveis apontam para o mesmo objeto

Assim, == responde pela igualdade lógica, e is pela identidade física dos objetos.