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 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
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 18 19 20 21 22 23 24 25 26 27 28 29 |
|
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 140338744545664
[1, 2, 3] su id es 140338744540864
Python reutiliza el objeto que almacena 5 por lo que ambas variables apuntan a el mismo.
False
200 su id es 9807616
200 su id es 9807616
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:
$ python operadores_identidad.py
Ver también
Consulte la sección de lecturas suplementarias del entrenamiento para ampliar su conocimiento en esta temática.