Sobes.tech
Middle

Qual é a diferença entre is e == em Python?

sobes.tech IA

Resposta da IA

Em Python, o operador is verifica se duas variáveis apontam para o mesmo objeto na memória (ou seja, compara a identidade dos objetos). O operador == verifica a igualdade dos valores dos objetos, ou seja, chama o método __eq__ e compara o conteúdo ou a lógica de igualdade.

Exemplo:

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

print(a is b)  # True, pois b refere-se ao mesmo objeto
print(a == b)  # True, os valores coincidem

print(a is c)  # False, objetos diferentes
print(a == c)  # True, os valores das listas são iguais

Portanto, is é uma verificação de identidade (um objeto), e == é uma verificação de igualdade de conteúdo.