single
Funktioiden muokkaaminen
Pyyhkäise näyttääksesi valikon
Ohjelmoinnissa funktiot ovat dynaamisia työkaluja, jotka voivat mukautua erilaisiin tilanteisiin ja tarpeisiin. Ne eivät ole vain kiinteitä koodilohkoja. Funktioita voidaan kehittää, jotta niistä tulee monipuolisempia ja käyttäjäystävällisempiä eri yhteyksissä.
Tässä luvussa tutustutaan tärkeisiin tapoihin muokata funktioita, kuten oletusargumenttien ja avainsana-argumenttien käyttöön.
Aloitetaan yksinkertaisella esimerkillä siitä, miten funktioiden muokkaaminen voi parantaa niiden hyödyllisyyttä ruokakaupan hallintajärjestelmässämme:
Oletusargumentit
Oletusargumentit ovat hyödyllinen ominaisuus Pythonissa, jonka avulla voit määrittää oletusarvot funktion parametreille.
apply_discount()-funktiossa discount-parametrin oletusarvo on 0.10. Tämä tarkoittaa, että funktio käyttää automaattisesti 10 % alennusta, ellei toisin määritetä. Kuten muuttujassa default_discount_price nähdään, voimme kutsua funktiota pelkällä price-parametrilla.
Tarvittaessa voimme kuitenkin ylikirjoittaa oletusarvon antamalla sekä price- että mukautetun discount-arvon (esim. 0.20 tarkoittaa 20 %), kuten muuttujassa custom_discount_price on esitetty.
123456789101112# Define a function with a default `discount` argument def apply_discount(price, discount=0.10): discounted_price = price * (1 - discount) return discounted_price # Call the function without providing a `discount`, using the default value default_discount_price = apply_discount(100) print(f"Price after applying the default discount: ${default_discount_price}") # Call the function with a custom `discount` value custom_discount_price = apply_discount(100, 0.20) print(f"Price after applying a custom discount: ${custom_discount_price}")
Avainsana-argumentit
Avainsana-argumentit Pythonissa mahdollistavat argumenttien välittämisen nimeämällä jokainen parametri erikseen, mikä tekee funktiokutsuista luettavampia ja joustavampia. Tämä on erityisen hyödyllistä, kun funktiolla on useita parametreja tai kun argumenttien järjestys voi olla hämmentävä.
Seuraavassa esimerkissä sekä price että discount on määritelty, kun taas tax-parametri säilyttää oletusarvonsa, tarjoten joustavuutta ilman, että selkeys kärsii.
12345678# Function where `tax` has a default value def calculate_total(price, discount, tax=0.05): total = price * (1 + tax) * (1 - discount) return total # Calling the function using keyword arguments total_cost = calculate_total(price=100, discount=0.15) print(f"Total cost after applying discount: ${total_cost}")
Huom
Parametrien järjestyksellä ei ole väliä, kun ne välitetään avainsana-argumentteina.
Pyyhkäise aloittaaksesi koodauksen
Luo funktioita, jotka laskevat tuotteen kokonaiskustannuksen soveltamalla alennusta ja veroa käyttäen avainsana-argumentteja ja oletusarvoja joustavuuden takaamiseksi.
- Määrittele
apply_discount(price, discount=0.05)
→ Palauttaa hinnan alennuksen jälkeen. - Määrittele
apply_tax(price, tax=0.07)
→ Palauttaa hinnan veron lisäämisen jälkeen. - Määrittele
calculate_total(price, discount=0.05, tax=0.07)
→ Käyttääapply_discount()jaapply_tax()-funktioita ja palauttaa kokonaishinnan, jossa sekä alennus että vero on huomioitu. - Kutsu
calculate_total(120)käyttäen oletusalennusta ja -veroa. - Kutsu
calculate_total(100, discount=0.10, tax=0.08)käyttäen mukautettuja arvoja avainsana-argumenteilla.
Tulostusvaatimukset
- Tulosta tulos oletusarvoilla:
Total cost with default discount and tax: $<total_price_default> - Tulosta tulos mukautetuilla arvoilla:
Total cost with custom discount and tax: $<total_price_custom>
Huom
Kun määrittelet funktioita, aseta vaaditut parametrit ensin ja oletusarvot niiden jälkeen.
Kun kutsut funktioita avainsana-argumenteilla, sijoita positionaaliset argumentit ennen avainsana-argumentteja.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme