Operador “is”

Em Python, o operador is é usado para verificar se duas variáveis ou objetos se referem ao mesmo objeto na memória. Ele compara as identidades dos objetos, ou seja, verifica se ambos têm o mesmo endereço de memória. Se as duas variáveis se referirem ao mesmo objeto, o operador is retorna True, caso contrário, retorna False.

Sintaxe:

objeto1 is objeto2
  • objeto1: O primeiro objeto que será comparado.
  • objeto2: O segundo objeto que será comparado.

Exemplo:

a = [1, 2, 3]
b = a
c = [1, 2, 3]
 
print(a is b)  # Output: True (ambos se referem ao mesmo objeto na memória)
print(a is c)  # Output: False (mesmo conteúdo, mas objetos diferentes)

Neste exemplo, a e b são duas variáveis que apontam para o mesmo objeto (a lista [1, 2, 3]), enquanto c é outra variável que aponta para uma lista diferente que tem o mesmo conteúdo. O operador is retorna True quando comparando a e b porque eles se referem ao mesmo objeto na memória, e False ao comparar a e c porque eles são dois objetos diferentes, apesar de terem o mesmo conteúdo.

É importante notar que o operador is compara a identidade dos objetos, não o seu valor. Portanto, duas variáveis com o mesmo valor podem não ter a mesma identidade, como mostrado no exemplo.

O uso do operador is é comum em casos em que queremos comparar se duas variáveis se referem ao mesmo objeto, especialmente em casos de tipos mutáveis, como listas e dicionários. No entanto, para comparar o valor de dois objetos, deve-se usar o operador ==, que verifica a igualdade dos valores.