Gebruikersgedefinieerde Functies
Een gebruikersgedefinieerde functie is een blok code dat je maakt om een specifieke taak uit te voeren. In tegenstelling tot ingebouwde functies, die door Python worden geleverd, worden gebruikersgedefinieerde functies door jou geschreven om specifieke problemen in je programma's op te lossen. Eenmaal gedefinieerd, kunnen deze functies meerdere keren worden hergebruikt, waardoor je code beter georganiseerd, efficiënter en gemakkelijker te onderhouden is.
Laten we nu kijken hoe Alex demonstreert hoe je gebruikersgedefinieerde functies kunt maken en gebruiken om taken te vereenvoudigen:
De basisstructuur van een gebruikersgedefinieerde functie in Python ziet er als volgt uit:
python
def
: dit sleutelwoord wordt gebruikt om de definitie van een functie te starten;function_name
: dit is de naam die je aan je functie geeft. Het moet beschrijvend zijn voor wat de functie doet, waardoor je code beter leesbaar wordt;argument_1, argument_2
: dit zijn de namen van de variabelen die je aan de functie doorgeeft. Ze fungeren als placeholders voor de waarden die je zult geven bij het aanroepen van de functie. Een functie kan nul of meer parameters hebben;De dubbele punt
:
geeft het begin van het codeblok van de functie aan;# Code block
: dit is de body van de functie, waar je de code schrijft die de functie zal uitvoeren. Het moet worden ingesprongen, net zoals bij het schrijven van lussen of voorwaardelijke instructies;return
: deze instructie wordt gebruikt om de functie te verlaten en een resultaat terug te geven. Niet alle functies hebben een return-instructie nodig, maar het is nuttig wanneer je een waarde wilt terugsturen naar de plaats waar de functie werd aangeroepen.
Parameters en Argumenten
Parameters zijn de variabelen die binnen de haakjes in de functiedefinitie worden vermeld. Ze worden gebruikt om waarden (argumenten) te ontvangen die aan de functie worden doorgegeven.
Argumenten zijn de feitelijke waarden die je aan de functie geeft wanneer je deze aanroept. Deze waarden worden toegewezen aan de parameters van de functie.
def greet_customer(name): print(f"Hello, {name}! Welcome to our store.") greet_customer("Alice")
Opmerking
In het bovenstaande voorbeeld is
name
de parameter, en de string"Alice"
is het argument.
Void Functies
Zoals hierboven getoond, hoeven niet alle functies een waarde terug te geven. Sommige functies voeren een taak uit maar geven niets terug aan de aanroeper. Deze staan bekend als void functies.
In Python is een void functie een door de gebruiker gedefinieerde functie die ofwel ontbreekt aan een return
-verklaring of een return
-verklaring heeft die geen waarde teruggeeft. In beide gevallen zal de functie standaard None
teruggeven.
In het bovenstaande voorbeeld is greet_customer()
een void functie omdat het de actie uitvoert van het afdrukken van een begroeting maar geen resultaat teruggeeft dat elders in het programma kan worden opgeslagen of gebruikt.
Voorbeeld van een Void Functie
Hier is nog een voorbeeld van een void functie waarbij de return
-verklaring wordt gebruikt om de uitvoering van de functie te beëindigen maar nog steeds geen waarde teruggeeft.
# 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)
Voorbeeldtoepassing
Laten we nu een functie overwegen die een specifieke waarde teruggeeft. Bijvoorbeeld, als je vaak kortingen moet berekenen voor verschillende producten in je winkel, kun je een functie maken om de kortingberekening uit te voeren. Deze functie kan dan worden hergebruikt wanneer nodig.
# `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
Definieer een functie om de totale kosten van een product te berekenen door de prijs en verkochte hoeveelheid te vermenigvuldigen.
- Maak een functie genaamd
calculate_total_cost()
die twee parameters neemt:price
enquantity
. - Vermenigvuldig binnen de functie
price
metquantity
om de totale kosten te krijgen. - Retourneer het resultaat van de functie.
Uitvoervereisten
- Roep
calculate_total_cost()
aan metprice = 1.50
enquantity = 10
. - Print het resultaat als:
The total cost for apples is $<apples_total_cost>
Oplossing
Bedankt voor je feedback!