Jäsenyysoperaattorit ja Tyyppivertailut
Tässä luvussa tutkimme joitakin Pythonin hienovaraisia piirteitä, jotka voivat merkittävästi parantaa tapaa, jolla hallitset ja käsittelet tietoja ohjelmissasi — erityisesti jäsenyysoperaattorit ja tyyppivertailut.
Katsotaanpa, kuinka Alex käyttää näitä työkaluja:
Jäsenyysoperaattorit ovat hyödyllisiä, kun sinun täytyy tarkistaa, ovatko tietyt kohteet tai alimerkkijonot läsnä iteroitavassa objektissa. Iteroitava objekti Pythonissa on mikä tahansa, jonka yli voit silmukoida, kuten merkkijonot, listat tai tuplet. Tutkimme listoja ja tupleja tarkemmin seuraavassa osiossa; toistaiseksi ymmärrä, että jäsenyysoperaattoreita voidaan soveltaa muuhunkin kuin pelkkiin merkkijonoihin.
Ensisijaiset jäsenyysoperaattorit ovat in
ja not in
, jotka molemmat palauttavat boolean-arvon, joka ilmaisee kohteen läsnäolon (tai puuttumisen).
Koska olet jo oppinut merkkijonojen indeksoinnista ja viipaloinnista, olet tuttu käsitteestä, että merkkijonot ovat iteroitavia. Tämä tarkoittaa, että voit käyttää jäsenyysoperaattoreita tarkistaaksesi alimerkkijonot suuremmista merkkijonoista.
Tarkastellaan seuraavaa esimerkkiä:
itemName = "Strawberries" in_name = "Straw" in itemName print("Is 'Straw' in 'Strawberries'?", in_name)
Esimerkki Sovellus
Kuvittele, että hallinnoit tuotekuvauksia tai kategorioita ruokakauppasi järjestelmässä. Saatat saada pitkän merkkijonon tuotetietoja, ja sinun täytyy nopeasti tarkistaa tiettyjä avainsanoja tuotteiden luokittelemiseksi tai korostamiseksi asiakaspreferenssien tai kampanjatoimintojen perusteella:
# 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)
Tietotyyppien Varmistaminen
Ymmärtäminen, minkä tyyppisen datan kanssa olet tekemisissä Pythonissa, on tärkeää, erityisesti kun hallitset ruokakaupan järjestelmän moninaisia tarpeita. type()
-funktio on korvaamaton, sillä se auttaa varmistamaan, että työskentelet oikeiden tietotyyppien kanssa — kuten merkkijonot tuotteen nimille, liukuluvut hinnoille ja kokonaisluvut varastomäärille.
Tämä ei ainoastaan estä virheitä, vaan tekee myös datan käsittelystä ja vertailusta sopivampaa ja luotettavampaa.
Seuraavassa esimerkissä havainnollistamme, kuinka type()
-funktiota voidaan käyttää varmistamaan, että järjestelmään syötetty data täyttää odotetut kriteerit, mikä on yleinen tarve hallita ruokakaupan dataa virheiden estämiseksi kassalla tai varaston päivityksissä:
# 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
Varmista uuden tuotteen tiedot, jotka on lisätty ruokakaupan järjestelmään käyttämällä jäsenyysoperaattoreita ja tyyppivertailuja.
- Käytä jäsenyysoperaattoreita tarkistaaksesi, ovatko alimerkkijonot
"raw"
ja"Imported"
description
-muuttujassa. - Määritä tulokset totuusarvomuuttujiin
contains_raw
jacontains_Imported
. - Käytä
type()
-funktiota tarkistaaksesi, onkoprice
float
jacount
int
. - Määritä näiden tyyppitarkistusten tulokset
price_is_float
jacount_is_int
.
Tulostusvaatimukset
- Tulosta:
Contains 'raw': <contains_raw>
. - Tulosta:
Contains 'Imported': <contains_Imported>
. - Tulosta:
Is price a float?: <price_is_float>
. - Tulosta:
Is count an integer?: <count_is_int>
.
Huom:
Python on kirjainkoolle herkkä, joten
"imported"
ja"Imported"
ovat eri merkkijonoja.
Ratkaisu
Kiitos palautteestasi!