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

bookWillekeurige Positionele Argumenten

Je kent al positionele en optionele argumenten. Maar wanneer een functie veel invoer kan ontvangen of je deze niet van tevoren weet, kun je willekeurige positionele argumenten gebruiken. Hiermee kan een functie een willekeurig aantal waarden accepteren.

Note
Opmerking

Elk argument kan elke datastructuur zijn (lijst, dict, enzovoort). Willekeurige argumenten maken het mogelijk om zoveel van deze objecten door te geven als nodig is.

Om willekeurige positionele argumenten te definiëren, plaats je een asterisk * voor de parameternaam. Voorbeeld:

12345678
# Define function with arbitrary positional 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

Hier verzamelt *values alle doorgegeven positionele argumenten in een tuple. Binnen de functie gebruik je de variabelenaam zonder *. Het resultaat is correct ongeacht het aantal opgegeven argumenten.

Note
Opmerking

Hoewel elke naam mogelijk is, is de gebruikelijke en leesbare vorm *args.

1234567891011121314
def example_function(*args): print(type(args)) print(args) for arg in args: print(arg) print("Call without arguments:") example_function() print("\nCall with one argument:") example_function(1) print("\nCall with multiple arguments:") example_function(1, 2, 3, 'hello', [4, 5, 6])
copy

Zoals getoond:

  • Geen argumenten → args is ();
  • Eén argument → (1,);
  • Meerdere argumenten → alle waarden verschijnen in een tuple, bijvoorbeeld (1, 2, 3, 'hello', [4, 5, 6]).

*args gedraagt zich als elke andere tuple, waardoor volledige flexibiliteit ontstaat bij het verwerken van meerdere invoerwaarden.

Taak

Swipe to start coding

Implementeer een calculate_total-functie die de totale prijs van items in een winkelwagen berekent, waarbij kortingen op basis van het totaalbedrag worden toegepast.

  1. Gebruik willekeurige positionele argumenten met de naam prices in de functie calculate_total.
  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 bedraagt.
  4. Pas een korting van 10% toe als het totaal $100 of meer bedraagt.

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.

close

bookWillekeurige Positionele Argumenten

Veeg om het menu te tonen

Je kent al positionele en optionele argumenten. Maar wanneer een functie veel invoer kan ontvangen of je deze niet van tevoren weet, kun je willekeurige positionele argumenten gebruiken. Hiermee kan een functie een willekeurig aantal waarden accepteren.

Note
Opmerking

Elk argument kan elke datastructuur zijn (lijst, dict, enzovoort). Willekeurige argumenten maken het mogelijk om zoveel van deze objecten door te geven als nodig is.

Om willekeurige positionele argumenten te definiëren, plaats je een asterisk * voor de parameternaam. Voorbeeld:

12345678
# Define function with arbitrary positional 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

Hier verzamelt *values alle doorgegeven positionele argumenten in een tuple. Binnen de functie gebruik je de variabelenaam zonder *. Het resultaat is correct ongeacht het aantal opgegeven argumenten.

Note
Opmerking

Hoewel elke naam mogelijk is, is de gebruikelijke en leesbare vorm *args.

1234567891011121314
def example_function(*args): print(type(args)) print(args) for arg in args: print(arg) print("Call without arguments:") example_function() print("\nCall with one argument:") example_function(1) print("\nCall with multiple arguments:") example_function(1, 2, 3, 'hello', [4, 5, 6])
copy

Zoals getoond:

  • Geen argumenten → args is ();
  • Eén argument → (1,);
  • Meerdere argumenten → alle waarden verschijnen in een tuple, bijvoorbeeld (1, 2, 3, 'hello', [4, 5, 6]).

*args gedraagt zich als elke andere tuple, waardoor volledige flexibiliteit ontstaat bij het verwerken van meerdere invoerwaarden.

Taak

Swipe to start coding

Implementeer een calculate_total-functie die de totale prijs van items in een winkelwagen berekent, waarbij kortingen op basis van het totaalbedrag worden toegepast.

  1. Gebruik willekeurige positionele argumenten met de naam prices in de functie calculate_total.
  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 bedraagt.
  4. Pas een korting van 10% toe als het totaal $100 of meer bedraagt.

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