Willekeurige Argumenten
Je hebt al kennisgemaakt met positionele en optionele argumenten. Maar wat als een functie veel argumenten heeft of je ze niet allemaal van tevoren kent? Dit kun je oplossen met willekeurige argumenten (argumenten met variabele lengte). Deze argumenten stellen een functie in staat om een willekeurig aantal invoerwaarden te accepteren, waardoor deze flexibel en aanpasbaar wordt.
Onthoud dat elk argument een datastructuur kan zijn, zoals een lijst of woordenboek. Je kunt een willekeurig aantal van dergelijke structuren doorgeven met behulp van willekeurige argumenten.
In Python kun je willekeurige argumenten definiëren als één positioneel argument door een asterisk * voor de argumentnaam te plaatsen. Hier is een voorbeeld:
12345678# Define function with arbitrary arguments named values def calculate_sum(*values): return sum(values) # Test the function using different number of arguments print(calculate_sum(1, 2, 3)) print(calculate_sum(1, 2, 3, 4)) print(calculate_sum(1, 2, 3, 4, 5))
In de bovenstaande code geeft de * aan dat de variabele values meerdere willekeurige argumenten kan bevatten, die als een tuple worden behandeld. De ingebouwde functie sum() wordt vervolgens gebruikt om het totaal te berekenen. Het resultaat is correct voor alle voorbeelden en het is niet nodig om het aantal argumenten expliciet op te geven. Let op: gebruik deze argumentnaam zonder * binnen de functiebody.
Voor het definiëren van een willekeurige argument-tuple is het voldoende om * voor de argumentnaam te plaatsen. Het wordt echter aanbevolen om de constructie *args te gebruiken. Dit verbetert de interpretatie en leesbaarheid van de code.
123456789101112131415161718def example_function(*args): # Print the type of args print(f'Type of args: {type(args)}') # Print the whole tuple print(f'Args tuple: {args}') # Iterate over the tuple for arg in args: print(arg) # Call the function without any arguments print("Call without arguments:") example_function() # Call the function with one argument print("\nCall with one argument:") example_function(1) # Call the function with multiple arguments print("\nCall with multiple arguments:") example_function(1, 2, 3, 'hello', [4, 5, 6])
Zoals te zien is uit de resultaten:
- Wanneer de functie wordt aangeroepen zonder argumenten, is
argseen lege tuple(); - Wanneer de functie wordt aangeroepen met één argument, is
argseen tuple met één element(1,); - Wanneer de functie wordt aangeroepen met meerdere argumenten, worden al deze opgeslagen in de tuple, bijvoorbeeld
(1, 2, 3, 'hello', [4, 5, 6]).
Met *args kun je met de waarden werken zoals je dat met elke andere tuple in Python zou doen.
Swipe to start coding
Implementeer een calculate_total-functie die de totale prijs van items in een winkelwagen berekent, waarbij kortingen worden toegepast op basis van het totaalbedrag.
- Gebruik willekeurige argumenten met de naam prices in de functie
calculate_total. - Als er geen argumenten zijn opgegeven, retourneer dan
"Your cart is empty.". - Pas een korting van 20% toe als het totaal $200 of meer is.
- Pas een korting van 10% toe als het totaal $100 of meer is.
Oplossing
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Awesome!
Completion rate improved to 4.17
Willekeurige Argumenten
Veeg om het menu te tonen
Je hebt al kennisgemaakt met positionele en optionele argumenten. Maar wat als een functie veel argumenten heeft of je ze niet allemaal van tevoren kent? Dit kun je oplossen met willekeurige argumenten (argumenten met variabele lengte). Deze argumenten stellen een functie in staat om een willekeurig aantal invoerwaarden te accepteren, waardoor deze flexibel en aanpasbaar wordt.
Onthoud dat elk argument een datastructuur kan zijn, zoals een lijst of woordenboek. Je kunt een willekeurig aantal van dergelijke structuren doorgeven met behulp van willekeurige argumenten.
In Python kun je willekeurige argumenten definiëren als één positioneel argument door een asterisk * voor de argumentnaam te plaatsen. Hier is een voorbeeld:
12345678# Define function with arbitrary arguments named values def calculate_sum(*values): return sum(values) # Test the function using different number of arguments print(calculate_sum(1, 2, 3)) print(calculate_sum(1, 2, 3, 4)) print(calculate_sum(1, 2, 3, 4, 5))
In de bovenstaande code geeft de * aan dat de variabele values meerdere willekeurige argumenten kan bevatten, die als een tuple worden behandeld. De ingebouwde functie sum() wordt vervolgens gebruikt om het totaal te berekenen. Het resultaat is correct voor alle voorbeelden en het is niet nodig om het aantal argumenten expliciet op te geven. Let op: gebruik deze argumentnaam zonder * binnen de functiebody.
Voor het definiëren van een willekeurige argument-tuple is het voldoende om * voor de argumentnaam te plaatsen. Het wordt echter aanbevolen om de constructie *args te gebruiken. Dit verbetert de interpretatie en leesbaarheid van de code.
123456789101112131415161718def example_function(*args): # Print the type of args print(f'Type of args: {type(args)}') # Print the whole tuple print(f'Args tuple: {args}') # Iterate over the tuple for arg in args: print(arg) # Call the function without any arguments print("Call without arguments:") example_function() # Call the function with one argument print("\nCall with one argument:") example_function(1) # Call the function with multiple arguments print("\nCall with multiple arguments:") example_function(1, 2, 3, 'hello', [4, 5, 6])
Zoals te zien is uit de resultaten:
- Wanneer de functie wordt aangeroepen zonder argumenten, is
argseen lege tuple(); - Wanneer de functie wordt aangeroepen met één argument, is
argseen tuple met één element(1,); - Wanneer de functie wordt aangeroepen met meerdere argumenten, worden al deze opgeslagen in de tuple, bijvoorbeeld
(1, 2, 3, 'hello', [4, 5, 6]).
Met *args kun je met de waarden werken zoals je dat met elke andere tuple in Python zou doen.
Swipe to start coding
Implementeer een calculate_total-functie die de totale prijs van items in een winkelwagen berekent, waarbij kortingen worden toegepast op basis van het totaalbedrag.
- Gebruik willekeurige argumenten met de naam prices in de functie
calculate_total. - Als er geen argumenten zijn opgegeven, retourneer dan
"Your cart is empty.". - Pas een korting van 20% toe als het totaal $200 of meer is.
- Pas een korting van 10% toe als het totaal $100 of meer is.
Oplossing
Bedankt voor je feedback!
single