Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Willekeurige Argumenten | Willekeurige Argumenten
Python Functies Tutorial

bookWillekeurige 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.

Note
Opmerking

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))
copy

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.

Note
Opmerking

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.

123456789101112131415161718
def 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])
copy

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.

Taak

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.

  1. Gebruik willekeurige argumenten genaamd prices in de calculate_total functie.
  2. Als er geen argumenten zijn opgegeven, retourneer dan "Your cart is empty.".
  3. Pas een korting van 20% toe als het totaal $200 of meer is.
  4. Pas een korting van 10% toe als het totaal $100 of meer is.

Oplossing

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 1
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Suggested prompts:

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?

close

Awesome!

Completion rate improved to 4.35

bookWillekeurige 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.

Note
Opmerking

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))
copy

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.

Note
Opmerking

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.

123456789101112131415161718
def 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])
copy

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.

Taak

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.

  1. Gebruik willekeurige argumenten genaamd prices in de calculate_total functie.
  2. Als er geen argumenten zijn opgegeven, retourneer dan "Your cart is empty.".
  3. Pas een korting van 20% toe als het totaal $200 of meer is.
  4. Pas een korting van 10% toe als het totaal $100 of meer is.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 1
single

single

some-alt