Operadores de Pertenencia y Comparaciones de Tipo
En este capítulo, exploraremos algunos aspectos matizados de Python que pueden mejorar significativamente la manera en que gestionas e interactúas con los datos en tus programas — específicamente, operadores de pertenencia y comparaciones de tipo.
Veamos cómo Alex utiliza estas herramientas:
Los operadores de pertenencia son útiles cuando necesitas comprobar si ciertos elementos o subcadenas están presentes dentro de un objeto iterable. Un objeto iterable en Python es cualquier cosa sobre la que se puede iterar, como cadenas, listas o tuplas. Exploraremos listas y tuplas con más detalle en la siguiente sección; por ahora, comprende que los operadores de pertenencia pueden aplicarse a más que solo cadenas.
Los principales operadores de pertenencia son in
y not in
, ambos devuelven un valor booleano que indica la presencia (o ausencia) de un elemento.
Como ya has aprendido sobre indexación de cadenas y segmentación, estás familiarizado con el concepto de que las cadenas son iterables. Esto significa que puedes usar operadores de pertenencia para comprobar subcadenas dentro de cadenas más grandes.
Considera el siguiente ejemplo:
itemName = "Strawberries" in_name = "Straw" in itemName print("Is 'Straw' in 'Strawberries'?", in_name)
Aplicación de ejemplo
Imagina que gestionas las descripciones de productos o categorías en el sistema de tu tienda de comestibles. Puedes recibir una cadena larga con detalles de productos y necesitas verificar rápidamente palabras clave específicas para categorizar o resaltar productos según las preferencias de los clientes o actividades promocionales:
# Product description from supplier product_description = "Fresh organic milk from local farms, pasteurized and homogenized." # Check if the "organic" and "local" keywords are in the product description is_organic = "organic" in product_description is_local = "local" in product_description # Print the presence of these keywords to decide on marketing strategies print("Is the product organic?", is_organic) print("Is the product locally sourced?", is_local)
Verificación de tipos de datos
Comprender el tipo de datos con el que se trabaja en Python es fundamental, especialmente al gestionar las diversas necesidades de un sistema de tienda de comestibles. La función type()
es invaluable, ya que ayuda a asegurar que se utilicen los tipos de datos correctos — como cadenas para nombres de productos, flotantes para precios e enteros para cantidades en inventario.
Esto no solo previene errores, sino que también hace que las manipulaciones y comparaciones de datos sean más adecuadas y fiables.
En el siguiente ejemplo, se ilustra cómo type()
puede utilizarse para verificar que los datos ingresados en el sistema cumplen con los criterios esperados, lo cual es una necesidad común en la gestión de datos de supermercados para evitar errores durante el proceso de pago o la actualización de inventario:
# Sample data received from a cashier or inventory management system product_name = "Almond Milk" product_price = "3.49" product_quantity = 30 # Checking if the data types are as expected correct_name_type = type(product_name) == str correct_price_type = type(product_price) == float # Intentional error for demonstration correct_quantity_type = type(product_quantity) == int # Print the results to verify data types print("Is product_name a string?", correct_name_type) print("Is product_price a float?", correct_price_type) # Expected: False, actual data type is a string print("Is product_quantity an integer?", correct_quantity_type) print("Data type check complete. Please review and correct any 'False' outcomes for data corrections.")
Swipe to start coding
Verificar los detalles de un nuevo producto añadido al sistema de una tienda de comestibles utilizando operadores de pertenencia y comparaciones de tipo.
- Utilizar operadores de pertenencia para comprobar si las subcadenas
"raw"
e"Imported"
están en la variabledescription
. - Asignar los resultados a las variables booleanas
contains_raw
ycontains_Imported
. - Utilizar la función
type()
para comprobar siprice
es unfloat
ycount
es unint
. - Asignar los resultados de estas comprobaciones de tipo a
price_is_float
ycount_is_int
.
Requisitos de salida
- Imprimir:
Contains 'raw': <contains_raw>
. - Imprimir:
Contains 'Imported': <contains_Imported>
. - Imprimir:
Is price a float?: <price_is_float>
. - Imprimir:
Is count an integer?: <count_is_int>
.
Nota:
Python distingue entre mayúsculas y minúsculas, por lo que
"imported"
y"Imported"
son cadenas diferentes.
Solución
¡Gracias por tus comentarios!