Operadores de Associação e Comparações de Tipo
Neste capítulo, exploraremos alguns aspectos sutis do Python que podem aprimorar significativamente a forma como você gerencia e interage com dados em seus programas — especificamente, Operadores de Pertinência e Comparações de Tipos.
Veja como Alex utiliza essas ferramentas:
Operadores de pertinência são úteis quando é necessário verificar se determinados itens ou substrings estão presentes dentro de um objeto iterável. Um objeto iterável em Python é qualquer coisa sobre a qual você pode iterar, como strings, listas ou tuplas. Exploraremos listas e tuplas em mais detalhes na próxima seção; por ora, compreenda que os operadores de pertinência podem ser aplicados a mais do que apenas strings.
Os principais operadores de pertinência são in
e not in
, ambos retornando um valor booleano que indica a presença (ou ausência) de um item.
Como você já aprendeu sobre indexação e fatiamento de strings, está familiarizado com o conceito de que strings são iteráveis. Isso significa que é possível utilizar operadores de pertinência para verificar substrings dentro de strings maiores.
Considere o seguinte exemplo:
itemName = "Strawberries" in_name = "Straw" in itemName print("Is 'Straw' in 'Strawberries'?", in_name)
Aplicação de Exemplo
Imagine a gestão das descrições de produtos ou categorias no sistema do seu supermercado. Pode ser necessário lidar com uma longa string de detalhes do produto e rapidamente verificar palavras-chave específicas para categorizar ou destacar produtos conforme as preferências dos clientes ou ações promocionais:
# 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)
Verificação de Tipos de Dados
Compreender o tipo de dado utilizado em Python é fundamental, especialmente ao gerenciar as diversas demandas de um sistema de supermercado. A função type()
é indispensável, pois garante que os tipos de dados corretos estão sendo utilizados — como strings para nomes de produtos, floats para preços e inteiros para quantidades em estoque.
Isso não apenas evita erros, mas também torna as manipulações e comparações de dados mais adequadas e confiáveis.
No exemplo a seguir, ilustramos como type()
pode ser utilizado para verificar se os dados inseridos no sistema atendem aos critérios esperados, o que é uma necessidade comum na gestão de dados de supermercados para evitar erros durante o checkout ou atualizações de estoque:
# 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
Verifique os detalhes de um novo produto adicionado ao sistema de uma mercearia utilizando operadores de associação e comparações de tipo.
- Utilize operadores de associação para verificar se as substrings
"raw"
e"Imported"
estão presentes na variáveldescription
. - Atribua os resultados às variáveis booleanas
contains_raw
econtains_Imported
. - Utilize a função
type()
para verificar seprice
é umfloat
e secount
é umint
. - Atribua os resultados dessas verificações de tipo às variáveis
price_is_float
ecount_is_int
.
Requisitos de Saída
- 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>
.
Observação:
Python diferencia maiúsculas de minúsculas, portanto,
"imported"
e"Imported"
são strings diferentes.
Solução
Obrigado pelo seu feedback!