Willekeurige Positionele Argumenten in Python
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, enz.). Willekeurige argumenten maken het mogelijk om zoveel van dergelijke 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 worden toegepast op basis van het totaalbedrag.
- Gebruik willekeurige positionele argumenten genaamd prices in de functie
calculate_total. - Als er geen argumenten worden 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.
Geweldig!
Completion tarief verbeterd naar 6.67
Willekeurige Positionele Argumenten in Python
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, enz.). Willekeurige argumenten maken het mogelijk om zoveel van dergelijke 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 worden toegepast op basis van het totaalbedrag.
- Gebruik willekeurige positionele argumenten genaamd prices in de functie
calculate_total. - Als er geen argumenten worden 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