Beliebige Argumente
Wir haben bereits die Positionsargumente und optionalen Argumente von Funktionen untersucht. Doch wie geht man vor, wenn es zahlreiche Argumente gibt oder wenn unklar ist, welche Argumente an eine Funktion übergeben werden müssen? Dieses Problem lässt sich mit beliebigen Argumenten (Arguments variabler Länge) lösen. Diese Argumente ermöglichen es einer Funktion, eine nicht festgelegte Anzahl von Argumenten zu akzeptieren. Dies ist besonders nützlich, wenn eine Funktion definiert werden soll, die eine variable Anzahl von Eingabewerten aufnehmen kann, ohne die genaue Anzahl der Argumente im Voraus anzugeben.
Beachte, dass jedes Argument eine Datenstruktur wie eine Liste oder ein Dictionary sein kann. Mit beliebigen Argumenten kann eine beliebige Anzahl solcher Strukturen übergeben werden.
In Python können beliebige Argumente als einzelnes Positionsargument definiert werden, indem ein Sternchen *
vor den Argumentnamen gesetzt wird. Hier ein Beispiel:
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))
Im obigen Code haben wir *
verwendet, um anzugeben, dass die Variable values
mehrere beliebige Argumente enthält und als Tupel interpretiert wird. Anschließend haben wir die eingebaute Funktion sum
verwendet, um die Summe zu berechnen. Es ist ersichtlich, dass das Ergebnis in allen Beispielen korrekt ist und die Anzahl der Argumente nicht explizit angegeben werden muss. Hinweis: Im Funktionskörper wird dieses Argument ohne *
beim Namen verwendet.
Um ein beliebiges Argument-Tupel zu definieren, genügt es, *
vor den Argumentnamen zu setzen. Es wird jedoch empfohlen, die Konstruktion *args
zu verwenden. Dies verbessert die Interpretierbarkeit und Lesbarkeit des Codes.
123456789101112131415161718def 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])
Wie aus den Ergebnissen ersichtlich ist:
- Wird die Funktion ohne Argumente aufgerufen, ist
args
ein leeres Tupel()
. - Wird die Funktion mit einem Argument aufgerufen, ist
args
ein Tupel mit einem Element(1,)
. - Wird die Funktion mit mehreren Argumenten aufgerufen, werden alle in dem Tupel gespeichert, zum Beispiel
(1, 2, 3, 'hello', [4, 5, 6])
.
Mit *args
können die Werte wie mit jedem anderen Tupel in Python verarbeitet werden.
Swipe to start coding
Implementiere eine Funktion calculate_total
, die den Gesamtpreis der Artikel im Warenkorb berechnet und Rabatte basierend auf dem Gesamtbetrag anwendet.
- Verwende beliebige Argumente mit dem Namen prices in der Funktion
calculate_total
. - Wenn keine Argumente übergeben werden, gib
"Your cart is empty."
zurück. - Wende einen 20% Rabatt an, wenn der Gesamtbetrag $200 oder mehr beträgt.
- Wende einen 10% Rabatt an, 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.35
Beliebige Argumente
Swipe um das Menü anzuzeigen
Wir haben bereits die Positionsargumente und optionalen Argumente von Funktionen untersucht. Doch wie geht man vor, wenn es zahlreiche Argumente gibt oder wenn unklar ist, welche Argumente an eine Funktion übergeben werden müssen? Dieses Problem lässt sich mit beliebigen Argumenten (Arguments variabler Länge) lösen. Diese Argumente ermöglichen es einer Funktion, eine nicht festgelegte Anzahl von Argumenten zu akzeptieren. Dies ist besonders nützlich, wenn eine Funktion definiert werden soll, die eine variable Anzahl von Eingabewerten aufnehmen kann, ohne die genaue Anzahl der Argumente im Voraus anzugeben.
Beachte, dass jedes Argument eine Datenstruktur wie eine Liste oder ein Dictionary sein kann. Mit beliebigen Argumenten kann eine beliebige Anzahl solcher Strukturen übergeben werden.
In Python können beliebige Argumente als einzelnes Positionsargument definiert werden, indem ein Sternchen *
vor den Argumentnamen gesetzt wird. Hier ein Beispiel:
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))
Im obigen Code haben wir *
verwendet, um anzugeben, dass die Variable values
mehrere beliebige Argumente enthält und als Tupel interpretiert wird. Anschließend haben wir die eingebaute Funktion sum
verwendet, um die Summe zu berechnen. Es ist ersichtlich, dass das Ergebnis in allen Beispielen korrekt ist und die Anzahl der Argumente nicht explizit angegeben werden muss. Hinweis: Im Funktionskörper wird dieses Argument ohne *
beim Namen verwendet.
Um ein beliebiges Argument-Tupel zu definieren, genügt es, *
vor den Argumentnamen zu setzen. Es wird jedoch empfohlen, die Konstruktion *args
zu verwenden. Dies verbessert die Interpretierbarkeit und Lesbarkeit des Codes.
123456789101112131415161718def 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])
Wie aus den Ergebnissen ersichtlich ist:
- Wird die Funktion ohne Argumente aufgerufen, ist
args
ein leeres Tupel()
. - Wird die Funktion mit einem Argument aufgerufen, ist
args
ein Tupel mit einem Element(1,)
. - Wird die Funktion mit mehreren Argumenten aufgerufen, werden alle in dem Tupel gespeichert, zum Beispiel
(1, 2, 3, 'hello', [4, 5, 6])
.
Mit *args
können die Werte wie mit jedem anderen Tupel in Python verarbeitet werden.
Swipe to start coding
Implementiere eine Funktion calculate_total
, die den Gesamtpreis der Artikel im Warenkorb berechnet und Rabatte basierend auf dem Gesamtbetrag anwendet.
- Verwende beliebige Argumente mit dem Namen prices in der Funktion
calculate_total
. - Wenn keine Argumente übergeben werden, gib
"Your cart is empty."
zurück. - Wende einen 20% Rabatt an, wenn der Gesamtbetrag $200 oder mehr beträgt.
- Wende einen 10% Rabatt an, wenn der Gesamtbetrag $100 oder mehr beträgt.
Lösung
Danke für Ihr Feedback!
single