Muokkaavat Funktiot
Ohjelmoinnissa funktiot ovat dynaamisia työkaluja, jotka voivat mukautua erilaisiin tilanteisiin ja tarpeisiin. Ne eivät ole vain kiinteitä koodilohkoja. Voit parantaa funktioita tehdäksesi niistä monipuolisempia ja käyttäjäystävällisempiä eri yhteyksissä.
Tässä luvussa tutkimme joitakin tärkeitä tekniikoita funktioiden muokkaamiseen, kuten oletusargumenttien ja avainsana-argumenttien käyttöä.
Aloitetaan yksinkertaisella esimerkillä funktioiden muokkaamisesta parantaaksemme niiden hyödyllisyyttä ruokakaupan hallintajärjestelmässämme:
Oletusargumentit
Oletusargumentit ovat hyödyllinen ominaisuus Pythonissa, joka sallii sinun määrittää oletusarvot funktioiden parametreille.
apply_discount()
-funktiossa discount
-parametri on oletuksena 0.10
. Tämä tarkoittaa, että funktio soveltaa automaattisesti 10% alennuksen, ellei toisin määritetä. Kuten default_discount_price
-muuttujassa nähdään, voimme kutsua funktiota vain price
-parametrilla.
Kuitenkin, jos tarpeen, voimme ylikirjoittaa oletusarvon antamalla sekä price
että mukautetun discount
(esim. 0.20
20%:lle) kuten custom_discount_price
-muuttujassa on esitetty.
# 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 sallivat sinun antaa argumentit 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 voisi olla hämmentävä.
Seuraavassa esimerkissä sekä price
että discount
on määritelty, kun taas tax
-parametri pysyy oletusarvossaan, tarjoten joustavuutta ilman, että selkeys kärsii.
# 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-argumenteilla.
Swipe to start coding
Luo funktioita tuotteen kokonaiskustannusten laskemiseksi soveltamalla alennusta ja veroa, käyttäen avainsana-argumentteja ja oletusarvoja joustavuuden lisäämiseksi.
- Määritä
apply_discount(price, discount=0.05)
→ Palauttaa hinnan alennuksen jälkeen. - Määritä
apply_tax(price, tax=0.07)
→ Palauttaa hinnan veron lisäämisen jälkeen. - Määritä
calculate_total(price, discount=0.05, tax=0.07)
→ Käyttääapply_discount()
jaapply_tax()
palauttaakseen kokonaishinnan sekä alennuksen että veron soveltamisen jälkeen. - 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äärität funktioita, aseta vaaditut parametrit ensin, ja sen jälkeen parametrit, joilla on oletusarvot.
Kun kutsut funktioita avainsana-argumenteilla, positionaaliset argumentit tulisi asettaa ennen avainsana-argumentteja.
Ratkaisu
Kiitos palautteestasi!