Usar Operadores de Pertenencia e Identidad
En este paso final, cubriremos los operadores de pertenencia (in, not in) y los operadores de identidad (is, is not). Los operadores de pertenencia comprueban si un valor está presente en una secuencia, mientras que los operadores de identidad comprueban si dos variables hacen referencia exactamente al mismo objeto en memoria.
Continúe trabajando con el archivo operators.py.
Primero, agreguemos ejemplos de operadores de pertenencia. Se utilizan comúnmente con secuencias como listas, tuplas y cadenas (strings).
Agregue el siguiente código al final de su archivo operators.py:
## Membership Operators
print("\n--- Membership Operators ---")
my_list = [1, 3, 5, 7]
print(f'3 in {my_list} is {3 in my_list}')
print(f'4 not in {my_list} is {4 not in my_list}')
greeting = "hello world"
print(f'"world" in "{greeting}" is {"world" in greeting}')
Guarde el archivo y ejecútelo:
python ~/project/operators.py
La salida para los operadores de pertenencia será:
... (output from previous steps) ...
--- Membership Operators ---
3 in [1, 3, 5, 7] is True
4 not in [1, 3, 5, 7] is True
"world" in "hello world" is True
Ahora, exploremos los operadores de identidad. Es importante entender la diferencia entre is (identidad) y == (igualdad). == comprueba si los valores de dos objetos son iguales, mientras que is comprueba si son el mismo objeto (es decir, tienen la misma dirección de memoria).
Agregue el siguiente código a su archivo operators.py:
## Identity Operators
print("\n--- Identity Operators ---")
## For small integers, Python often reuses the same object.
x = 256
y = 256
print(f'x is y (for 256): {x is y}') ## This is often True
## For larger integers, Python may create separate objects.
a = 257
b = 257
print(f'a is b (for 257): {a is b}') ## This is often False
## For mutable objects like lists, they are different objects even if their content is the same.
list1 = [1, 2, 3]
list2 = [1, 2, 3]
print(f'list1 == list2: {list1 == list2}') ## Checks for equal content (True)
print(f'list1 is list2: {list1 is list2}') ## Checks for same object (False)
print(f'list1 is not list2: {list1 is not list2}') ## Checks for different objects (True)
Guarde el archivo y ejecútelo por última vez:
python ~/project/operators.py
La salida demuestra la diferencia entre igualdad e identidad:
... (output from previous examples) ...
--- Identity Operators ---
x is y (for 256): True
a is b (for 257): True
list1 == list2: True
list1 is list2: False
list1 is not list2: True
Ha utilizado con éxito los operadores de pertenencia e identidad, completando su exploración de los principales tipos de operadores de Python.