Python 3 - Exemplo de operadores de identidade
A função interna id () do Python retorna um inteiro único como identidade do objeto. Operadores de identidade comparam as localizações de memória de dois objetos. Existem dois operadores de identidade, conforme explicado abaixo -
Operador | Descrição | Exemplo |
---|---|---|
é | Avalia como verdadeiro se as variáveis em qualquer lado do operador apontam para o mesmo objeto e como falso caso contrário. | x é y, aqui is resulta em 1 se id (x) for igual a id (y). |
não é | Avalia como falso se as variáveis em qualquer lado do operador apontam para o mesmo objeto e como verdadeiro caso contrário. | x não é y, aqui is not resulta em 1 se id (x) não for igual a id (y). |
Exemplo
#!/usr/bin/python3
a = 20
b = 20
print ('Line 1','a=',a,':',id(a), 'b=',b,':',id(b))
if ( a is b ):
print ("Line 2 - a and b have same identity")
else:
print ("Line 2 - a and b do not have same identity")
if ( id(a) == id(b) ):
print ("Line 3 - a and b have same identity")
else:
print ("Line 3 - a and b do not have same identity")
b = 30
print ('Line 4','a=',a,':',id(a), 'b=',b,':',id(b))
if ( a is not b ):
print ("Line 5 - a and b do not have same identity")
else:
print ("Line 5 - a and b have same identity")
Resultado
Quando você executa o programa acima, ele produz o seguinte resultado -
Line 1 a= 20 : 1594701888 b= 20 : 1594701888
Line 2 - a and b have same identity
Line 3 - a and b have same identity
Line 4 a= 20 : 1594701888 b= 30 : 1594702048
Line 5 - a and b do not have same identity