Lidmaatschapsoperatoren en Typevergelijkingen
In dit hoofdstuk zullen we enkele genuanceerde aspecten van Python verkennen die de manier waarop je met gegevens in je programma's omgaat en ermee omgaat aanzienlijk kunnen verbeteren — specifiek, Lidmaatschapsoperatoren en Typevergelijkingen.
Laten we eens kijken hoe Alex deze tools gebruikt:
Lidmaatschapsoperatoren zijn nuttig wanneer je moet controleren of specifieke items of substrings aanwezig zijn binnen een iterabel object. Een iterabel object in Python is alles waar je overheen kunt itereren, zoals strings, lijsten of tuples. We zullen lijsten en tuples in meer detail verkennen in de volgende sectie; begrijp voor nu dat lidmaatschapsoperatoren op meer dan alleen strings kunnen worden toegepast.
De primaire lidmaatschapsoperatoren zijn in
en not in
, die beide een booleaanse waarde retourneren die de aanwezigheid (of afwezigheid) van een item aangeeft.
Aangezien je al hebt geleerd over string-indexering en slicing, ben je bekend met het concept dat strings iterabel zijn. Dit betekent dat je lidmaatschapsoperatoren kunt gebruiken om te controleren op substrings binnen grotere strings.
Overweeg het volgende voorbeeld:
itemName = "Strawberries" in_name = "Straw" in itemName print("Is 'Straw' in 'Strawberries'?", in_name)
Voorbeeldtoepassing
Stel je voor dat je de productbeschrijvingen of categorieën in je supermarktbeheersysteem beheert. Je kunt een lange reeks productdetails ontvangen en je moet snel controleren op specifieke trefwoorden 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)
Verifiëren van Gegevenstypen
Begrijpen met welk type gegevens je te maken hebt in Python is cruciaal, vooral bij het beheren van de diverse behoeften van een supermarkt systeem. De type()
functie is van onschatbare waarde omdat het helpt ervoor te zorgen dat je werkt met de juiste gegevenstypen — zoals strings voor productnamen, floats voor prijzen en gehele getallen voor voorraadhoeveelheden.
Dit voorkomt niet alleen bugs, maar maakt gegevensmanipulaties en vergelijkingen ook passender en betrouwbaarder.
In het volgende voorbeeld illustreren we 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
Verifieer de details van een nieuw product dat is toegevoegd aan een kruidenierswinkelsysteem met behulp van lidmaatschapsoperatoren en typevergelijkingen.
- Gebruik lidmaatschapsoperatoren om te controleren of de substrings
"raw"
en"Imported"
in de variabeledescription
zitten. - Ken de resultaten toe aan de booleaanse variabelen
contains_raw
encontains_Imported
. - Gebruik de
type()
functie om te controleren ofprice
eenfloat
is encount
eenint
is. - Ken 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!