Operadores de identidade/associação no Python

Introdução ao Python / Tutorial Python

No Python, os operadores de identidade e associação são usados para comparar objetos e verificar a presença de elementos em coleções. Vamos explorar cada um deles com exemplos.

Operadores de Associação

Os operadores de associação verificam se um elemento está presente em uma coleção (como listas, strings ou dicionários). Eles são:

  • in: Retorna True se o elemento estiver presente.
  • not in: Retorna True se o elemento não estiver presente.

Exemplos:

# Operador 'in' com listas
frutas = ['maçã', 'banana', 'laranja']
print('maçã' in frutas)  # True
print('uva' in frutas)   # False

# Operador 'not in' com listas
print('uva' not in frutas)  # True

# Operador 'in' com strings
texto = "Olá, mundo!"
print('Olá' in texto)     # True
print('Python' in texto)  # False

# Operador 'in' com dicionários (verifica chaves)
dados = {'nome': 'Arthur', 'idade': 30}
print('nome' in dados)    # True
print('Arthur' in dados)  # False

Operadores de Identidade

Os operadores de identidade verificam se duas variáveis diferentes possuem a mesma origem, ou seja, se dois objetos ocupam o mesmo espaço na memória. Eles são:

  • is: Retorna True se os dois objetos forem o mesmo.
  • is not: Retorna True se os dois objetos não forem o mesmo.

Exemplos

# Operador 'is'
a = [1, 2, 3]
b = a
c = [1, 2, 3]

print(a is b)  # True, pois 'b' é uma referência ao mesmo objeto que 'a'
print(a is c)  # False, pois 'c' é um objeto diferente com o mesmo conteúdo

# Operador 'is not'
print(a is not c)  # True, pois 'a' e 'c' não são o mesmo objeto

Nota: O operador is não deve ser usado para comparar valores. Para isso, use ==.

Conclusão

Os operadores de identidade e associação são ferramentas poderosas para trabalhar com comparações e verificações no Python. Use is e is not para verificar se dois objetos são o mesmo, e in e not in para verificar a presença de elementos em coleções.

Experimente os exemplos acima no seu ambiente Python para entender melhor como esses operadores funcionam!