Lidmaatschapsoperatoren en Typevergelijkingen
In dit hoofdstuk verkennen we enkele genuanceerde aspecten van Python die aanzienlijk kunnen bijdragen aan het beheren en verwerken van gegevens in uw programma's — met name lidmaatschapsoperatoren en typevergelijkingen.
Laten we bekijken hoe Alex deze hulpmiddelen gebruikt:
Lidmaatschapsoperatoren zijn nuttig wanneer u wilt controleren of specifieke items of substrings aanwezig zijn binnen een iterabel object. Een iterabel object in Python is alles waarover u kunt itereren, zoals strings, lijsten of tuples. We zullen lijsten en tuples in het volgende gedeelte uitgebreider behandelen; voor nu is het belangrijk te begrijpen dat lidmaatschapsoperatoren op meer dan alleen strings kunnen worden toegepast.
De belangrijkste lidmaatschapsoperatoren zijn in
en not in
, die beide een booleaanse waarde retourneren die de aanwezigheid (of afwezigheid) van een item aangeeft.
Aangezien u al hebt geleerd over string-indexering en slicing, bent u bekend met het concept dat strings iterabel zijn. Dit betekent dat u lidmaatschapsoperatoren kunt gebruiken om te controleren op substrings binnen grotere strings.
Bekijk het volgende voorbeeld:
itemName = "Strawberries" in_name = "Straw" in itemName print("Is 'Straw' in 'Strawberries'?", in_name)
Voorbeeldtoepassing
Stel je beheert de productbeschrijvingen of categorieën in het systeem van je supermarkt. Je ontvangt mogelijk een lange string met productdetails en moet snel specifieke trefwoorden controleren om producten te categoriseren of te markeren op basis van klantvoorkeuren of promotionele activiteiten:
# 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)
Gegevenssoorten verifiëren
Het begrijpen van het type gegevens waarmee je werkt in Python is essentieel, vooral bij het beheren van de uiteenlopende behoeften van een supermarktsysteem. De functie type()
is van grote waarde omdat deze helpt te waarborgen dat je met de juiste gegevenstypen werkt — zoals strings voor productnamen, floats voor prijzen en gehele getallen voor voorraadhoeveelheden.
Dit voorkomt niet alleen fouten, maar maakt gegevensmanipulaties en vergelijkingen ook passender en betrouwbaarder.
In het volgende voorbeeld laten we zien hoe type()
kan worden gebruikt om te verifiëren dat de gegevens die in het systeem worden ingevoerd voldoen aan de verwachte criteria, wat een veelvoorkomende noodzaak is bij het beheren van supermarktgegevens om fouten tijdens het afrekenen of bijwerken van de voorraad te voorkomen:
# 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
Controleer de details van een nieuw product dat is toegevoegd aan een supermarktensysteem met behulp van lidmaatschapsoperatoren en typevergelijkingen.
- Gebruik lidmaatschapsoperatoren om te controleren of de substrings
"raw"
en"Imported"
zich in de variabeledescription
bevinden. - Wijs de resultaten toe aan de booleaanse variabelen
contains_raw
encontains_Imported
. - Gebruik de functie
type()
om te controleren ofprice
eenfloat
is encount
eenint
. - Wijs de resultaten van deze typecontroles toe aan
price_is_float
encount_is_int
.
Uitvoervereisten
- Print:
Contains 'raw': <contains_raw>
. - Print:
Contains 'Imported': <contains_Imported>
. - Print:
Is price a float?: <price_is_float>
. - Print:
Is count an integer?: <count_is_int>
.
Opmerking:
Python is hoofdlettergevoelig, dus
"imported"
en"Imported"
zijn verschillende strings.
Oplossing
Bedankt voor je feedback!