Aprenda el operador de identidad de Python y la diferencia entre el operador “==” e “IS”

Aprenda el operador de identidad de Python y la diferencia entre el operador “==” e “IS”

Este artículo está elaborado principalmente para explicar un operador importante en Python (“ OPERADOR DE IDENTIDAD. ) y cómo se diferencia un operador de identidad ( es. no es. del operador de comparación (==).

OPERADOR DE IDENTIDAD

El operador de identidad (“es” y “no es”) se usa para comparar la ubicación de memoria del objeto. Cuando se crea un objeto en la memoria, se asigna una dirección de memoria única a ese objeto.

  • ‘==’ compara si ambos valores del objeto son idénticos o no.
  • ‘ is ‘compara si ambos objetos pertenecen a la misma ubicación de memoria.

Cree tres objetos de cadena Nombre. Nombre1. y Nombre2. Los objetos de cadena Nombre. y Nombre2. tendrán el mismo valor y Nombre1. tendrán valores diferentes.

Cuando creamos estos objetos, lo que sucede detrás de escena es que ese objeto se creará en la memoria y estará disponible durante la vida útil del programa.

Ahora puede usar un operador de comparación “==” para verificar si tanto el objeto los valores son los mismos. La salida del operador de comparación será un valor booleano ( Verdadero. o Falso. .

 Crear y comparar objetos  Crear y comparar objetos Crear y comparar objetos freestar.config.enabled_slots.push (LocationName:” tecmint_incontent “, slotId:” tecmint_incontent ” );

Ahora que ha comparado dos valores para determinar la igualdad, echemos un vistazo a cómo funciona el operador de identidad.

La función integrada Id () a se usa para obtener la “ identidad. de un objeto. Un número entero que será único y constante para el objeto durante su vida útil.

Para simplificarlo, piense que esto es un ID. o un ID de emp. único asignado para usted, del mismo modo, se asigna un valor entero único para cada objeto.

 Valor entero único  Valor entero único Valor entero único

Ahora puede comparar 2 referencias de objeto usando el operador “is”.

Operador de identidad  Operador de identidad Operador de identidad

Cuando comparo Nombre. y Nombre1. o Nombre2. usando el operador de identidad, lo que hace en el backend es simplemente ejecutar “id (Nombre) == id (Nombre2) ”. Dado que id (Nombre). e id (Nombre2). comparten la misma ubicación de memoria, devuelve Verdadero.

Ahora aquí viene la parte interesante. Mire nuestro ejemplo anterior donde tanto Nombre. como Nombre1. tienen valores idénticos y devuelve el mismo valor entero cuando ejecutamos la función id (). ¿Por qué crees que los objetos “ Name_new. y “ Name_le. no son idénticos a pesar de que comparten los mismos valores de la siguiente captura de pantalla?

 Valores enteros  Valores enteros Valores enteros

Esto se debe a la implementación del diseño de Python. Cuando crea un objeto entero en el rango (-5,256. y encadena objetos mayores o iguales a 20. caracteres, en lugar de crear diferentes objetos en la memoria por el mismo valor, estos actuar como un puntero a los objetos ya creados.

La siguiente representación pictórica le dará una idea clara de lo que hemos visto hasta ahora en este artículo.

 Representación esquemática  Representación esquemática Resumen de representación esquemática

En este artículo, hemos visto qué es un operador de identidad. Cómo se usa el operador de comparación y el operador de identidad, implementación del diseño sobre cómo se crea un objeto en la memoria.