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 Pythonin sisäänrakennetut funktiot, käyttäjän määrittelemät funktiot kirjoitetaan itse ratkaisemaan ohjelmasi erityisiä ongelmia. Kun funktio on määritelty, sitä voidaan käyttää uudelleen useita kertoja, mikä tekee koodistasi järjestelmällisempää, tehokkaampaa ja helpommin ylläpidettävää.
Seuraavaksi katsotaan, kun Alex havainnollistaa, kuinka käyttäjän määrittelemiä funktioita luodaan ja käytetään tehtävien yksinkertaistamiseksi:
Käyttäjän määrittelemän funktion perusrakenne Pythonissa näyttää tältä:
python
def
: tämä avainsana aloittaa funktion määrittelyn;function_name
: tämä on funktion nimi. Nimen tulisi kuvata, mitä funktio tekee, jotta koodi on helpommin luettavaa;argument_1, argument_2
: nämä ovat muuttujien nimet, jotka välitetään funktiolle. Ne toimivat paikkamerkkeinä arvoille, jotka annat funktion kutsussa. Funktiolla voi olla nolla tai useampia parametreja;Kaksoispiste
:
ilmaisee funktion koodilohkon alun;# Code block
: tämä on funktion runko, johon kirjoitetaan suoritettava koodi. Sen täytyy olla sisennetty kuten silmukoissa tai ehtolauseissa;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 halutaan palauttaa arvo sinne, mistä funktio kutsuttiin.
Parametrit ja argumentit
Parametrit ovat muuttujia, jotka on listattu sulkeisiin funktion määrittelyssä. Niitä käytetään vastaanottamaan arvoja (argumentteja), jotka välitetään funktiolle.
Argumentit ovat todellisia arvoja, jotka annat funktiolle sitä kutsuessasi. Nämä arvot sijoitetaan funktion parametreihin.
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äpalautteiset funktiot
Kuten yllä on esitetty, kaikkien funktioiden ei tarvitse palauttaa arvoa. Jotkin funktiot suorittavat tehtävän, mutta eivät palauta mitään kutsujalle. Näitä kutsutaan tyhjäpalautteisiksi funktioiksi.
Pythonissa tyhjäpalautteinen funktio on käyttäjän määrittelemä funktio, jolta puuttuu return
-lauseke tai jossa return
-lauseke ei palauta arvoa. Molemmissa tapauksissa funktio palauttaa oletuksena arvon None
.
Yllä olevassa esimerkissä greet_customer()
on tyhjäpalautteinen funktio, koska se suorittaa tervehdyksen tulostamisen, mutta ei palauta mitään tulosta, jota voisi tallentaa tai käyttää muualla ohjelmassa.
Esimerkki tyhjäpalautteisesta funktiosta
Tässä on toinen esimerkki tyhjäpalautteisesta funktiosta, jossa return
-lauseketta käytetään funktion suorituksen lopettamiseen, mutta silti ei palauteta 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)
Esimerkkisovellus
Tarkastellaan nyt funktiota, joka palauttaa tietyn arvon. Jos esimerkiksi täytyy usein laskea alennuksia eri tuotteille kaupassa, voidaan luoda funktio alennuksen laskemista varten. Tätä funktiota voidaan 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, joka laskee tuotteen kokonaiskustannuksen 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 kokonaiskustannuksen. - Palauta tulos funktiosta.
Tulostusvaatimukset
- Kutsu funktiota
calculate_total_cost()
käyttäen arvojaprice = 1.50
jaquantity = 10
. - Tulosta tulos muodossa:
The total cost for apples is $<apples_total_cost>
Ratkaisu
Kiitos palautteestasi!