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.