Beliebige Positionsargumente
Sie kennen bereits positionsabhängige und optionale Argumente. Wenn eine Funktion jedoch viele Eingaben erhalten kann oder diese im Voraus nicht bekannt sind, können beliebige positionsabhängige Argumente verwendet werden. Sie ermöglichen es einer Funktion, eine beliebige Anzahl von Werten zu akzeptieren.
Jedes Argument kann eine beliebige Datenstruktur sein (Liste, Dict, usw.). Beliebige Argumente ermöglichen es, so viele solcher Objekte wie nötig zu übergeben.
Um beliebige positionsabhängige Argumente zu definieren, wird ein Sternchen * vor den Parameternamen gesetzt. Beispiel:
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 sammelt *values alle übergebenen Positionsargumente in einem Tupel. Innerhalb der Funktion wird der Variablenname ohne * verwendet. Das Ergebnis ist unabhängig von der Anzahl der übergebenen Argumente korrekt.
Obwohl jeder Name funktioniert, ist die gebräuchliche und lesbare Form *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])
Wie gezeigt:
- Keine Argumente →
argsist(); - Ein Argument →
(1,); - Mehrere Argumente → alle Werte erscheinen in einem Tupel, z. B.
(1, 2, 3, 'hello', [4, 5, 6]).
*args verhält sich wie jedes andere Tupel und bietet volle Flexibilität beim Umgang mit vielen Eingaben.
Swipe to start coding
Implementieren einer Funktion calculate_total, die den Gesamtpreis der Artikel im Warenkorb berechnet und dabei Rabatte basierend auf dem Gesamtbetrag anwendet.
- Verwendung von beliebigen Positionsargumenten mit dem Namen prices in der Funktion
calculate_total. - Falls keine Argumente übergeben werden, Rückgabe von
"Your cart is empty.". - Anwendung eines 20%-Rabattes, wenn der Gesamtbetrag $200 oder mehr beträgt.
- Anwendung eines 10%-Rabattes, wenn der Gesamtbetrag $100 oder mehr beträgt.
Lösung
Danke für Ihr Feedback!
single
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 4.17
Beliebige Positionsargumente
Swipe um das Menü anzuzeigen
Sie kennen bereits positionsabhängige und optionale Argumente. Wenn eine Funktion jedoch viele Eingaben erhalten kann oder diese im Voraus nicht bekannt sind, können beliebige positionsabhängige Argumente verwendet werden. Sie ermöglichen es einer Funktion, eine beliebige Anzahl von Werten zu akzeptieren.
Jedes Argument kann eine beliebige Datenstruktur sein (Liste, Dict, usw.). Beliebige Argumente ermöglichen es, so viele solcher Objekte wie nötig zu übergeben.
Um beliebige positionsabhängige Argumente zu definieren, wird ein Sternchen * vor den Parameternamen gesetzt. Beispiel:
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 sammelt *values alle übergebenen Positionsargumente in einem Tupel. Innerhalb der Funktion wird der Variablenname ohne * verwendet. Das Ergebnis ist unabhängig von der Anzahl der übergebenen Argumente korrekt.
Obwohl jeder Name funktioniert, ist die gebräuchliche und lesbare Form *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])
Wie gezeigt:
- Keine Argumente →
argsist(); - Ein Argument →
(1,); - Mehrere Argumente → alle Werte erscheinen in einem Tupel, z. B.
(1, 2, 3, 'hello', [4, 5, 6]).
*args verhält sich wie jedes andere Tupel und bietet volle Flexibilität beim Umgang mit vielen Eingaben.
Swipe to start coding
Implementieren einer Funktion calculate_total, die den Gesamtpreis der Artikel im Warenkorb berechnet und dabei Rabatte basierend auf dem Gesamtbetrag anwendet.
- Verwendung von beliebigen Positionsargumenten mit dem Namen prices in der Funktion
calculate_total. - Falls keine Argumente übergeben werden, Rückgabe von
"Your cart is empty.". - Anwendung eines 20%-Rabattes, wenn der Gesamtbetrag $200 oder mehr beträgt.
- Anwendung eines 10%-Rabattes, wenn der Gesamtbetrag $100 oder mehr beträgt.
Lösung
Danke für Ihr Feedback!
single