Operadores de Membresía y Comparaciones de Tipo
En este capítulo, exploraremos algunos aspectos matizados de Python que pueden mejorar significativamente cómo gestionas e interactúas con los datos en tus programas — específicamente, Operadores de Membresía y Comparaciones de Tipo.
Veamos cómo Alex utiliza estas herramientas:
Los operadores de membresía son útiles cuando necesitas verificar si elementos o subcadenas específicas están presentes dentro de un objeto iterable. Un objeto iterable en Python es cualquier cosa sobre la que puedes iterar, como cadenas, listas o tuplas. Exploraremos listas y tuplas con más detalle en la siguiente sección; por ahora, entiende que los operadores de membresía se pueden aplicar a más que solo cadenas.
Los operadores de membresía principales son in
y not in
, ambos devuelven un valor booleano que indica la presencia (o ausencia) de un elemento.
Dado que 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 membresía para verificar 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 estás gestionando las descripciones de productos o categorías en el sistema de tu tienda de comestibles. Podrías recibir una larga cadena de detalles de productos, y necesitas verificar rápidamente palabras clave específicas para categorizar o resaltar productos basados en 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
Entender el tipo de datos con los que estás trabajando en Python es crucial, 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 estás trabajando con los tipos de datos correctos — como cadenas para nombres de productos, flotantes para precios e enteros para cantidades de stock.
Esto no solo previene errores, sino que también hace que las manipulaciones y comparaciones de datos sean más apropiadas y confiables.
En el siguiente ejemplo, ilustramos cómo type()
puede ser utilizado 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 tiendas de comestibles para prevenir errores durante el pago o actualizaciones 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
En esta tarea, aplicarás tu conocimiento de operadores de pertenencia y comparaciones de tipos para verificar los detalles de un nuevo producto agregado a un sistema de tienda de comestibles. Realizarás verificaciones para asegurar que la descripción del producto y los tipos de datos se ingresen correctamente.
Instrucciones de Código
- Usa operadores de pertenencia para verificar si las subcadenas
"raw"
e"Imported"
están presentes en la variabledescription
. - Asigna los resultados de estas verificaciones a las variables booleanas
contains_raw
ycontains_Imported
. - Usa la función
type()
para verificar que elprice
se almacena como unfloat
y elcount
se almacena como unint
. - Asigna los resultados de estas verificaciones de tipo a las variables
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
Recuerda que Python es sensible a mayúsculas y minúsculas, por lo que
"imported"
e"Imported"
son cadenas diferentes.
Solución
¡Gracias por tus comentarios!