Willekeurige Argumenten
We hebben al de positionele en optionele argumenten van functies onderzocht. Maar wat te doen als er veel argumenten zijn, of als het niet zeker is welke argumenten aan een functie moeten worden doorgegeven? Dit probleem kan worden opgelost met willekeurige argumenten (argumenten met variabele lengte). Deze argumenten stellen een functie in staat om een onbepaald aantal argumenten te accepteren. Dit is vooral handig wanneer een functie een variabel aantal invoerwaarden moet kunnen verwerken zonder het exacte aantal argumenten vooraf te specificeren.
Onthoud dat elk argument een datastructuur kan zijn, zoals een lijst of een woordenboek. Met willekeurige argumenten kun je een willekeurig aantal van dergelijke structuren doorgeven.
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 hebben we *
gebruikt om aan te geven dat de variabele values
meerdere willekeurige argumenten bevat en wordt geïnterpreteerd als een tuple. Vervolgens hebben we de ingebouwde functie sum
gebruikt om de som te berekenen. We zien dat het resultaat correct is voor alle voorbeelden, en we hoeven het aantal argumenten niet direct op te geven. Let op dat we dit argument bij naam gebruiken zonder *
in de functiebody.
Om een willekeurige argument-tuple te definiëren, 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
args
een lege tuple()
. - Wanneer de functie wordt aangeroepen met één argument, is
args
een tuple met één element(1,)
. - Wanneer de functie wordt aangeroepen met meerdere argumenten, worden deze allemaal opgeslagen in de tuple, bijvoorbeeld
(1, 2, 3, 'hello', [4, 5, 6])
.
Met *args
kun je met de waarden werken zoals met elke andere tuple in Python.
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 genaamd prices in de
calculate_total
functie. - 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.
Can you explain the difference between *args and **kwargs?
How do I use *args with other types of function arguments?
Can you give more examples of when to use *args?
Awesome!
Completion rate improved to 4.35
Willekeurige Argumenten
Veeg om het menu te tonen
We hebben al de positionele en optionele argumenten van functies onderzocht. Maar wat te doen als er veel argumenten zijn, of als het niet zeker is welke argumenten aan een functie moeten worden doorgegeven? Dit probleem kan worden opgelost met willekeurige argumenten (argumenten met variabele lengte). Deze argumenten stellen een functie in staat om een onbepaald aantal argumenten te accepteren. Dit is vooral handig wanneer een functie een variabel aantal invoerwaarden moet kunnen verwerken zonder het exacte aantal argumenten vooraf te specificeren.
Onthoud dat elk argument een datastructuur kan zijn, zoals een lijst of een woordenboek. Met willekeurige argumenten kun je een willekeurig aantal van dergelijke structuren doorgeven.
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 hebben we *
gebruikt om aan te geven dat de variabele values
meerdere willekeurige argumenten bevat en wordt geïnterpreteerd als een tuple. Vervolgens hebben we de ingebouwde functie sum
gebruikt om de som te berekenen. We zien dat het resultaat correct is voor alle voorbeelden, en we hoeven het aantal argumenten niet direct op te geven. Let op dat we dit argument bij naam gebruiken zonder *
in de functiebody.
Om een willekeurige argument-tuple te definiëren, 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
args
een lege tuple()
. - Wanneer de functie wordt aangeroepen met één argument, is
args
een tuple met één element(1,)
. - Wanneer de functie wordt aangeroepen met meerdere argumenten, worden deze allemaal opgeslagen in de tuple, bijvoorbeeld
(1, 2, 3, 'hello', [4, 5, 6])
.
Met *args
kun je met de waarden werken zoals met elke andere tuple in Python.
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 genaamd prices in de
calculate_total
functie. - 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