Menu
Coddy logo textTech

Verificações de Identidade

Parte da seção Logic & Flow do Journey de Python da Coddy — lição 26 de 78.

Em Python, os operadores is e is not são usados para verificar a identidade de objetos. Ao contrário do operador ==, que verifica se duas variáveis possuem o mesmo valor, o operador is verifica se duas variáveis se referem ao exato mesmo objeto na memória.

Uso básico de is:

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

print(a is b)  # Saída: True
print(a is c)  # Saída: False

Neste exemplo, a e b referem-se ao mesmo objeto de lista, então a is b retorna True. No entanto, a e c são objetos de lista diferentes com os mesmos valores, então a is c retorna False.

Uso Básico de is not:

x = 5
y = 5
z = 10

print(x is not y)  # Saída: False
print(x is not z)  # Saída: True

Aqui, x e y referem-se ao mesmo objeto inteiro (devido às otimizações do Python para inteiros pequenos), então x is not y retorna False. x e z são objetos diferentes, então x is not z retorna True.

Verificações de identidade são particularmente úteis quando você deseja determinar se duas variáveis estão apontando para o mesmo objeto na memória, em vez de apenas terem o mesmo valor.

challenge icon

Desafio

Fácil

Crie duas variáveis, list1 e list2, onde:

  • list1 refere-se a uma lista [1, 2, 3].
  • list2 é atribuída ao mesmo objeto.

Use o operador is para verificar se list1 e list2 referem-se ao mesmo objeto.
Use o operador is not para verificar se list1 e list2 referem-se a objetos diferentes.
Imprima os resultados das verificações.

Folha de consulta

Os operadores is e is not verificam a identidade do objeto na memória, não apenas a igualdade de valor como ==.

Usando is para verificar se as variáveis se referem ao mesmo objeto:

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

print(a is b)  # Saída: True
print(a is c)  # Saída: False

Usando is not para verificar se as variáveis se referem a objetos diferentes:

x = 5
y = 5
z = 10

print(x is not y)  # Saída: False
print(x is not z)  # Saída: True

As verificações de identidade determinam se duas variáveis apontam para o mesmo objeto na memória, não apenas se elas possuem o mesmo valor.

Experimente você mesmo

# Escreva o código aqui
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Logic & Flow