Python 3 - Ejemplo de operadores de identidad

La función incorporada de Python id () devuelve un entero único como identidad del objeto. Los operadores de identidad comparan las ubicaciones de memoria de dos objetos. Hay dos operadores de identidad como se explica a continuación:

Operador Descripción Ejemplo
es Se evalúa como verdadero si las variables a ambos lados del operador apuntan al mismo objeto y falso en caso contrario. x es y, aquí is da como resultado 1 si id (x) es igual a id (y).
no es Se evalúa como falso si las variables a ambos lados del operador apuntan al mismo objeto y verdadero en caso contrario. x no es y, aquí is not da como resultado 1 si id (x) no es igual a id (y).

Ejemplo

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

Salida

Cuando ejecuta el programa anterior, produce el siguiente 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