Käyttäjän Määrittämät Funktiot
Käyttäjän määrittelemä funktio on koodilohko, jonka luot suorittamaan tietyn tehtävän. Toisin kuin sisäänrakennetut funktiot, jotka Python tarjoaa, käyttäjän määrittelemät funktiot kirjoitat itse ratkaisemaan tiettyjä ongelmia ohjelmissasi. Kun funktiot on määritelty, niitä voidaan käyttää uudelleen useita kertoja, mikä tekee koodistasi järjestelmällisempää, tehokkaampaa ja helpommin ylläpidettävää.
Katsotaan nyt, kun Alex näyttää, kuinka luoda ja käyttää käyttäjän määrittelemiä funktioita tehtävien yksinkertaistamiseksi:
Käyttäjän määrittelemän funktion perusrakenne Pythonissa näyttää tältä:
python
def
: tämä avainsana käytetään funktion määrittelyn aloittamiseen;function_name
: tämä on nimi, jonka annat funktiollesi. Sen tulisi olla kuvaava siitä, mitä funktio tekee, mikä tekee koodistasi luettavampaa;argument_1, argument_2
: nämä ovat muuttujien nimiä, jotka välität funktiolle. Ne toimivat paikkamerkkeinä arvoille, jotka annat, kun kutsut funktiota. Funktiolla voi olla nolla tai useampia parametreja;Kaksoispiste
:
merkitsee funktion koodilohkon alkamista;# Code block
: tämä on funktion runko, jossa kirjoitat koodin, jonka funktio suorittaa. Sen on oltava sisennetty aivan kuten kirjoitettaessa silmukoita tai ehtolauseita;return
: tätä lausetta käytetään poistumaan funktiosta ja palauttamaan tulos. Kaikki funktiot eivät tarvitse return-lausetta, mutta se on hyödyllinen, kun haluat lähettää arvon takaisin sinne, mistä funktio kutsuttiin.
Parametrit ja Argumentit
Parametrit ovat muuttujia, jotka on lueteltu sulkujen sisällä funktion määrittelyssä. Niitä käytetään vastaanottamaan arvoja (argumentteja), jotka välitetään funktiolle.
Argumentit ovat todellisia arvoja, jotka annat funktiolle, kun kutsut sitä. Nämä arvot annetaan funktion parametreille.
def greet_customer(name): print(f"Hello, {name}! Welcome to our store.") greet_customer("Alice")
Huom
Yllä olevassa esimerkissä
name
on parametri, ja merkkijono"Alice"
on argumentti.
Tyhjäfunktiot
Kuten yllä on esitetty, kaikkien funktioiden ei tarvitse palauttaa arvoa. Jotkut funktiot suorittavat tehtävän, mutta eivät palauta mitään kutsujalle. Näitä kutsutaan tyhjäfunktioiksi.
Pythonissa tyhjäfunktio on käyttäjän määrittelemä funktio, jolta joko puuttuu return
-lauseke tai siinä on return
-lauseke, joka ei palauta mitään arvoa. Molemmissa tapauksissa funktio palauttaa oletuksena None
.
Yllä olevassa esimerkissä greet_customer()
on tyhjäfunktio, koska se suorittaa tervehdyksen tulostamisen, mutta ei palauta mitään tulosta, joka voitaisiin tallentaa tai käyttää muualla ohjelmassa.
Tyhjäfunktion esimerkki
Tässä on toinen esimerkki tyhjäfunktiosta, jossa return
-lauseketta käytetään funktion suorituksen lopettamiseen, mutta se ei silti palauta mitään arvoa.
# Function to check stock levels of grocery items def check_stock(inventory): for item, stock in inventory.items(): if stock < 10: print(f"Warning: {item} is running low on stock with only {stock} units left!") print("Please restock the item before proceeding with the check.") return # Stops the function if stock is below 10 print(f"{item} has sufficient stock: {stock} units.") print("All items have sufficient stock.") # Example inventory of a grocery store inventory = { "Apples": 50, "Bananas": 30, "Milk": 8, # This will trigger the early exit "Bread": 25 } # Check stock levels check_stock(inventory)
Esimerkki sovelluksesta
Tarkastellaan nyt funktiota, joka palauttaa tietyn arvon. Esimerkiksi, jos sinun täytyy usein laskea alennuksia eri tuotteille kaupassasi, voit luoda funktion suorittamaan alennuslaskennan. Tätä funktiota voidaan sitten käyttää uudelleen aina tarvittaessa.
# `cost` and `discount_rate` are the parameters of the function def calculate_discounted_price(cost, discount_rate): final_price = cost * (1 - discount_rate) return final_price # Call the `calculate_discounted_price` function and pass in `cost` and `discount_rate` values as arguments apples_final_price = calculate_discounted_price(1.2, 0.10) milk_final_price = calculate_discounted_price(2.2, 0.15) bread_final_price = calculate_discounted_price(0.8, 0.05) # Display the discounted prices print(f"The discounted price of apples is ${apples_final_price}") print(f"The discounted price of milk is ${milk_final_price}") print(f"The discounted price of bread is ${bread_final_price}")
Swipe to start coding
Määrittele funktio laskea tuotteen kokonaiskustannukset kertomalla sen hinta ja myyty määrä.
- Luo funktio nimeltä
calculate_total_cost()
, joka ottaa kaksi parametria:price
jaquantity
. - Funktion sisällä kerro
price
jaquantity
saadaksesi kokonaiskustannukset. - Palauta tulos funktiosta.
Tulostusvaatimukset
- Kutsu
calculate_total_cost()
käyttäenprice = 1.50
jaquantity = 10
. - Tulosta tulos seuraavasti:
The total cost for apples is $<apples_total_cost>
Ratkaisu
Kiitos palautteestasi!