Python 3 - Esempio di operatori di identità

La funzione incorporata di Python id () restituisce un numero intero univoco come identità dell'oggetto. Gli operatori di identità confrontano le posizioni di memoria di due oggetti. Esistono due operatori di identità come spiegato di seguito:

Operatore Descrizione Esempio
è Restituisce true se le variabili su entrambi i lati dell'operatore puntano allo stesso oggetto e false in caso contrario. x è y, qui is restituisce 1 se id (x) è uguale a id (y).
non è Restituisce false se le variabili su entrambi i lati dell'operatore puntano allo stesso oggetto e true in caso contrario. x non è y, qui is not restituisce 1 se id (x) non è uguale a id (y).

Esempio

#!/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")

Produzione

Quando esegui il programma sopra, produce il seguente risultato:

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