Medlemskapsoperatorer og Type-sammenligninger
I dette kapittelet skal vi utforske noen nyanserte aspekter ved Python som kan forbedre hvordan du håndterer og samhandler med data i programmene dine — spesielt medlemskapsoperatorer og type-sammenligninger.
La oss se hvordan Alex bruker disse verktøyene:
Medlemskapsoperatorer er nyttige når du trenger å sjekke om bestemte elementer eller delstrenger finnes i et itererbart objekt. Et itererbart objekt i Python er alt du kan iterere over, som strenger, lister eller tupler. Vi skal utforske lister og tupler mer detaljert i neste seksjon; for nå er det viktig å forstå at medlemskapsoperatorer kan brukes på mer enn bare strenger.
De viktigste medlemskapsoperatorene er in
og not in
, som begge returnerer en boolsk verdi som indikerer om et element er til stede (eller ikke til stede).
Siden du allerede har lært om streng-indeksering og slicing, er du kjent med at strenger er itererbare. Dette betyr at du kan bruke medlemskapsoperatorer til å sjekke etter delstrenger i større strenger.
Se følgende eksempel:
itemName = "Strawberries" in_name = "Straw" in itemName print("Is 'Straw' in 'Strawberries'?", in_name)
Eksempel på bruk
Tenk deg at du administrerer produktbeskrivelser eller kategorier i dagligvaresystemet ditt. Du kan motta en lang streng med produktdetaljer, og du må raskt sjekke etter spesifikke nøkkelord for å kategorisere eller fremheve produkter basert på kundepreferanser eller kampanjer:
# 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)
Verifisering av datatyper
Å forstå hvilken type data du arbeider med i Python er avgjørende, spesielt når du håndterer de ulike behovene i et dagligvaresystem. Funksjonen type()
er uvurderlig fordi den hjelper deg å sikre at du arbeider med riktige datatyper — som strenger for produktnavn, flyttall for priser og heltall for lagerbeholdning.
Dette forhindrer ikke bare feil, men gjør også datamanipulering og sammenligninger mer hensiktsmessige og pålitelige.
I det følgende eksempelet viser vi hvordan type()
kan brukes til å verifisere at dataene som legges inn i systemet oppfyller de forventede kriteriene, noe som er en vanlig nødvendighet ved håndtering av dagligvaredata for å forhindre feil under utsjekk eller lageroppdateringer:
# 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
Verifiser detaljene for et nytt produkt lagt til i et dagligvaresystem ved hjelp av medlemskapsoperatorer og typekontroller.
- Bruk medlemskapsoperatorer for å sjekke om delstrengene
"raw"
og"Imported"
finnes i variabelendescription
. - Tildel resultatene til de boolske variablene
contains_raw
ogcontains_Imported
. - Bruk funksjonen
type()
for å sjekke omprice
er enfloat
ogcount
er enint
. - Tildel resultatene av disse typekontrollene til
price_is_float
ogcount_is_int
.
Krav til utskrift
- Skriv ut:
Contains 'raw': <contains_raw>
. - Skriv ut:
Contains 'Imported': <contains_Imported>
. - Skriv ut:
Is price a float?: <price_is_float>
. - Skriv ut:
Is count an integer?: <count_is_int>
.
Merk:
Python skiller mellom store og små bokstaver, så
"imported"
og"Imported"
er forskjellige strenger.
Løsning
Takk for tilbakemeldingene dine!