Pular para o conteúdo

Operadores de Identidade

OperadorDescrição
isRetorna True se as variáveis forem um mesmo objeto
is notRetorna True se as duas variáveis não forem o mesmo objeto

O primeiro exemplo abaixo verifica se as variáveis x, y e z são um mesmo objeto.

x = 2.86
y = 2.86
z = x
if (x is y):
   print('x is y')
if (x is z):
   print('x is z')
if (y is z):
   print('y is z')
print('id(x) = ', id(x), ', id(y) = ', id(y), ', id(z) = ', id(z))

A execução do programa mostra que as três variáveis são um mesmo objeto e que, assim, possuem a mesma identificação.

x is y
x is z
y is z
id(x) = 139633187004968 , id(y) = 139633187004968 , id(z) = 139633187004968

O segundo exemplo verifica se duas variáveis com listas são o mesmo objeto.

x = [1,2,3]
y = [1,2,3]
if (x is y):
   print('x is y')
if (x is not y):
   print('x is not y')
if (x == y):
   print('x == y')
print('id(x) = ', id(x), ', id(y) = ', id(y))

O resultado do programa mostra que x e y não são o mesmo objeto (possui diferentes identificadores), mas possuem o mesmo conteúdo.

x is not y
x == y
id(x) = 140101529295176 , id(y) = 140101529295240