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: FalseNeste 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: TrueAqui, 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.
Desafio
FácilCrie duas variáveis, list1 e list2, onde:
list1refere-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: FalseUsando 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: TrueAs 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 aquiEsta 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
1Exploração de Variáveis
ConstantesAtribuição de Múltiplas VariáveisTroca de VariáveisVariáveis de Espaço ReservadoArredondar NúmerosCasting de Listas4Aplicativo de Agenda de Contatos
Exibir MenuAdicionar Contato7Conjuntos Parte 2
Operações Matemáticas Parte 1Operações Matemáticas Parte 2Revisão - Caça ao TesouroSubconjuntos e SuperconjuntosIterando sobre ConjuntosRevisão - Rastreador de Torneio10List Comprehensions Básicas
A SintaxeCriando Listas SimplesAdicionando CondiçõesUsando Agregação de DadosRecapitulação - House Of ListsRecapitulação - Elements Of Freedom13Sistema de Gerenciamento de Inventário
Visão Geral do ProjetoAdicionar Item2Dicionários Parte 1
O que é um Dicionário?Criando um DicionárioAcessando ValoresModificando DicionáriosRecapitulação - Gerenciador de Receitas5Tomada de Decisão Avançada
Operador TernárioVerificações de PertencimentoVerificações de IdentidadeErros de IndentaçãoRecapitulação - Filtro de Férias8Gerenciador de Registros de Alunos
Visão Geral do ProjetoAdicionar Aluno11Funções Avançadas
Retornando Múltiplos ValoresFunções Lambda Parte 1Funções Lambda Parte 2Desafio de Recapitulação - Lambda SortFunções Recursivas Parte 1Funções Recursivas Parte 2Recapitulação - Somar Listas Aninhadas14Funções de Ordem Superior
A Função MapA Função FilterRecapitulação - Validador de E-mailRecapitulação - Processador de Números3Dicionários Parte 2
Métodos de DicionárioDicionários AninhadosVerificando ChavesIterando em DicionáriosRecapitulação - Contador de Frequência6Conjuntos Parte 1
O que é um Conjunto?Operações BásicasMétodos de ConjuntosRecapitulação - Remover Duplicatas9Agregação de Dados Avançada
Usando SumEncontrando Mínimo e MáximoOrdenando Dados de Forma EficienteRecapitulação - Dictionary Sorter