Functies Wijzigen
In de programmeerwereld zijn functies dynamische hulpmiddelen die zich kunnen aanpassen aan verschillende situaties en behoeften. Het zijn niet slechts vaste blokken code. Je kunt functies uitbreiden om ze veelzijdiger en gebruiksvriendelijker te maken in diverse contexten.
In dit hoofdstuk bespreken we enkele belangrijke technieken om functies aan te passen, zoals het gebruik van standaardargumenten en keyword-argumenten.
Laten we beginnen met een eenvoudig voorbeeld van het aanpassen van functies om hun bruikbaarheid in ons supermarktbeheersysteem te vergroten:
Standaardargumenten
Standaardargumenten zijn een handige functie in Python waarmee je standaardwaarden voor functieparameters kunt opgeven.
In de functie apply_discount()
is de parameter discount
standaard ingesteld op 0.10
. Dit betekent dat de functie automatisch een korting van 10% toepast, tenzij anders aangegeven. Zoals te zien is bij de variabele default_discount_price
, kunnen we de functie aanroepen met alleen de parameter price
.
Indien nodig kunnen we echter de standaardwaarde overschrijven door zowel de price
als een aangepaste discount
(bijvoorbeeld 0.20
voor 20%) door te geven, zoals gedemonstreerd met de variabele custom_discount_price
.
# 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}")
Keywordargumenten
Keywordargumenten in Python stellen je in staat om argumenten door te geven door elke parameter expliciet te benoemen, waardoor je functie-aanroepen leesbaarder en flexibeler worden. Dit is vooral handig wanneer een functie meerdere parameters heeft of wanneer de volgorde van argumenten verwarrend kan zijn.
In het volgende voorbeeld worden zowel price
als discount
gespecificeerd, terwijl de parameter tax
op zijn standaardwaarde blijft staan, wat flexibiliteit biedt zonder aan duidelijkheid in te boeten.
# 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}")
Opmerking
De volgorde van parameters maakt niet uit wanneer ze worden doorgegeven met keywordargumenten.
Swipe to start coding
Functies maken om de totale kosten van een product te berekenen door een korting en belasting toe te passen, met gebruik van keyword-argumenten en standaardwaarden voor flexibiliteit.
- Definieer
apply_discount(price, discount=0.05)
→ Geeft de prijs terug na toepassing van de korting. - Definieer
apply_tax(price, tax=0.07)
→ Geeft de prijs terug na toevoeging van de belasting. - Definieer
calculate_total(price, discount=0.05, tax=0.07)
→ Gebruiktapply_discount()
enapply_tax()
om de totale prijs met zowel korting als belasting toe te passen. - Roep
calculate_total(120)
aan met de standaard korting en belasting. - Roep
calculate_total(100, discount=0.10, tax=0.08)
aan met aangepaste waarden via keyword-argumenten.
Uitvoervereisten
- Print het resultaat met standaardwaarden:
Totale kosten met standaard korting en belasting: $<total_price_default>
- Print het resultaat met aangepaste waarden:
Totale kosten met aangepaste korting en belasting: $<total_price_custom>
Opmerking
Plaats bij het definiëren van functies eerst de vereiste parameters, gevolgd door parameters met standaardwaarden.
Bij het aanroepen van functies met keyword-argumenten moeten positionele argumenten vóór keyword-argumenten komen.
Oplossing
Bedankt voor je feedback!