Operadores de Identidade
Operador | Descrição |
is | Retorna True se as variáveis forem um mesmo objeto |
is not | Retorna 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