Operadores de Identidad y Pertenencia
En Python, existen dos familias de operadores que nos permiten ir más allá de los valores y explorar la estructura de los datos: la Identidad (¿son el mismo objeto?) y la Pertenencia (¿está este dato dentro de aquel otro?).
Operadores de Identidad (is, is not)
A menudo confundimos "ser igual" con "ser el mismo". En Python, dos variables pueden tener el mismo valor pero vivir en lugares distintos de la memoria.
is: DevuelveTruesi ambas variables apuntan al mismo objeto exacto en la memoria RAM.is not: DevuelveTruesi las variables apuntan a objetos diferentes.
La diferencia con ==
==compara Valores (¿tienen lo mismo?).iscompara Identidades (¿son lo mismo?).
Dato Técnico: El operador
isse utiliza frecuentemente para comparar variables con el valor nuloNone, ya queNonees un objeto único en Python. Ejemplo:if variable is None:.
Operadores de Pertenencia (in, not in)
Estos operadores se utilizan para verificar si un valor se encuentra dentro de una secuencia (como un texto, una lista o una tupla). Son extremadamente potentes por su legibilidad casi humana.
in: DevuelveTruesi el valor especificado está presente en la secuencia.not in: DevuelveTruesi el valor no está presente.
Ejemplo en Texto (Strings):
Si tienes el texto "Python es genial", puedes preguntar:
* 'Python' in "Python es genial" -> True
* 'Java' in "Python es genial" -> False
Reto: El Filtro de Seguridad
Vamos a simular un sistema que verifica si un correo electrónico pertenece a un dominio prohibido y si una sesión es válida.
Instrucciones:
1. Crea la variable correo con el valor 'usuario@spam.com'.
2. Crea la variable es_spam usando el operador in para verificar si la palabra 'spam' está dentro de correo.
3. Crea la variable sesion_actual con el valor None.
4. Crea la variable sin_sesion usando el operador is para verificar si sesion_actual es None.
5. Crea la variable lista_permitida con el texto 'admin, editor, profesor'.
6. Crea la variable es_invitado usando not in para verificar si el texto 'invitado' no está en lista_permitida.
# Verifica identidad y pertenencia: