Functies Wijzigen
In de programmering zijn functies dynamische hulpmiddelen die zich kunnen aanpassen aan verschillende situaties en behoeften. Ze zijn niet alleen vaste blokken code. Je kunt functies verbeteren om ze veelzijdiger en gebruiksvriendelijker te maken in verschillende contexten.
In dit hoofdstuk zullen we enkele belangrijke technieken verkennen voor het aanpassen van functies, zoals het gebruik van standaardargumenten en sleutelwoordargumenten.
Laten we beginnen met een eenvoudig voorbeeld van het aanpassen van functies om hun bruikbaarheid in ons supermarktbeheersysteem te verbeteren:
Standaardargumenten
Standaardargumenten zijn een nuttige functie in Python waarmee je standaardwaarden voor functieparameters kunt specificeren.
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 gespecificeerd. Zoals te zien is in de variabele default_discount_price
, kunnen we de functie aanroepen met alleen de parameter price
.
Echter, indien nodig, kunnen we de standaardwaarde overschrijven door zowel de price
als een aangepaste discount
(bijv. 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 expliciet elke parameter te benoemen, waardoor je functieaanroepen 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, wat flexibiliteit biedt zonder de duidelijkheid te compromitteren.
# 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 keyword-argumenten.
Swipe to start coding
Maak functies om de totale kosten van een product te berekenen door een korting en belasting toe te passen, met behulp 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 terug te geven. - Roep
calculate_total(120)
aan met de standaardkorting 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 standaardkorting en -belasting: $<total_price_default>
- Print het resultaat met aangepaste waarden:
Totale kosten met aangepaste korting en belasting: $<total_price_custom>
Opmerking
Bij het definiëren van functies, plaats eerst vereiste parameters, gevolgd door parameters met standaardwaarden.
Bij het aanroepen van functies met keyword-argumenten, moeten positionele argumenten voor keyword-argumenten komen.
Oplossing
Bedankt voor je feedback!