4.3. Operadores de identidad¶
El operador de identidad is indica si dos variables hacen referencia al mismo objeto.
Esto implica que si dos variables distintas tienen el mismo id(), el resultado de
aplicar el operador is sobre ellas será True.
4.3.1. Operador is¶
El operador is, significa, que prueba identidad: ambos lados de la expresión
condicional debe ser el mismo objecto:
>>> a, b = 10, 10.0
>>> print(a is b)
False
>>> a, b = 10, 10
>>> print(a is b)
True
Esto es debido a que Python reutiliza el mismo objeto que almacena el valor 10
para ambas variables. De hecho, si usamos la función id(), podemos ver que el
objeto es el mismo.
>>> a, b = 1, 1.0
>>> id(a)
9801248
>>> id(b)
140676746660560
>>> id(a) == id(b)
False
>>> a, b = 1, 1
>>> id(a)
9807616
>>> id(b)
9807616
>>> id(a) == id(b)
True
4.3.2. Operador is not¶
El operador is not, es la negación el contrario de operador is, devuelve
False si no hacen referencia a el mismo objeto.
>>> c = 4
>>> d = [1, 2, 3]
>>> print(c is not d)
True
>>> c = 1
>>> print(c is not d)
False
En el ejemplo anterior, si b es una lista, este prueba que 4 y 1 sean
elementos de la lista b.
4.3.3. Ejemplos¶
A continuación, se presentan algunos ejemplos de su uso:
Operador de identidad is:
1 2 3 4 5 6 7 8 9 | |
El código anterior muestra el siguiente resultado:
Operador is
===========
True
200 su id es 9807616
200 su id es 9807616
False
200 su id es 9807616
200.0 su id es 139992306955312
Operador de identidad is not:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
El código anterior muestra el siguiente resultado:
Operador is not
===============
Python crea dos objetos diferentes, uno para cada lista. Las listas son mutables.
True
[1, 2, 3] su id es 140508292871232
[1, 2, 3] su id es 140508290502400
Python reutiliza el objeto que almacena 5 por lo que ambas variables apuntan a el mismo.
False
200 su id es 10875752
200 su id es 10875752
Importante
Usted puede descargar el código usado en esta sección haciendo clic
aquí.
Truco
Para ejecutar el código operadores_identidad.py, abra una consola de comando,
acceda al directorio donde se encuentra el mismo, y ejecute el siguiente comando:
python3 operadores_identidad.py
Ver también
Consulte la sección de lecturas suplementarias del entrenamiento para ampliar su conocimiento en esta temática.
¿Cómo puedo ayudar?
¡Mi soporte está aquí para ayudar!
Mi horario de oficina es de lunes a sábado, de 9 AM a 5 PM. UTM - Madrid, España.
La hora aquí es actualmente 7:35 PM UTM.
Mi objetivo es responder a todos los mensajes dentro de un día hábil.