Willekeurige 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.
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))
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.
Hoewel elke naam mogelijk is, is de gebruikelijke en leesbare vorm *args.
1234567891011121314def 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])
Zoals getoond:
- Geen argumenten →
argsis(); - 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.
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.
- Gebruik willekeurige positionele 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 bedraagt.
- Pas een korting van 10% toe als het totaal $100 of meer bedraagt.
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.
Geweldig!
Completion tarief verbeterd naar 4.17
Willekeurige 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.
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))
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.
Hoewel elke naam mogelijk is, is de gebruikelijke en leesbare vorm *args.
1234567891011121314def 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])
Zoals getoond:
- Geen argumenten →
argsis(); - 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.
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.
- Gebruik willekeurige positionele 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 bedraagt.
- Pas een korting van 10% toe als het totaal $100 of meer bedraagt.
Oplossing
Bedankt voor je feedback!
single