Wiederholbare Argumente in Python
Manche aufrufbaren Objekte haben die Möglichkeit, die Angabe von Argumenten für einen bestimmten Parameter „zu wiederholen“.
Einführendes Beispiel
Die Funktion »min« erwartet mindestens zwei Argumente und ergibt das Minimum aller ihrer Argumentwerte.
- Auswertung
min( 9, 8 )
8
Es ist aber auch möglich, mehr als zwei Argumente anzugeben.
- Auswertung
min( 9, 8, 7 )
7
- Auswertung
min( 9, 8, 7, 2 )
2
Dokumentation
In der Proklamation bedeutet »*args«, daß hier beliebig viele weitere Argumente akzeptiert werden, die dann alle zum Parameter »args« („Argumente“) gehören.
- Protokoll (gekürzt und überarbeitet)
help( min )
Help on built-in function min in module builtins:
min( arg1, arg2, *args ) -> value
Ein Parameter wie »args« wird manchmal auch variadisch genannt. (Wir hatten zuvor schon gesagt, daß man einen Funktor variadisch nennt, wenn man es mit unterschiedlichen Anzahlen von Argumenten aufrufen kann.)
- „Funktor“ bedeutet aufrufbares Objekt.
Wir hatten wiederholbare Argumente schon bei »print« kennengelernt, doch damals war deren Darstellung in der Dokumentation etwas anders.
- Protokoll (überarbeitet, vereinfacht, gekürzt)
help( print )
print( value, ... )
An dieser Stelle des Kurses können wir die Bedeutung von »value, ...« und »*args« als gleich ansehen: In beiden Fällen sind an dieser Stelle beliebig viele kommagetrennte Argumente gestattet.
Übungsaufgaben ⃗
/ Übungsaufgabe ⃗
Schreiben Sie einen Aufruf der Funktion »max« mit zwei Argumenten, einen Aufruf mit drei Argumenten und einen Aufruf mit vier Argumenten.
- Dokumentation (frei übersetzt und überarbeitet)
max( arg1, arg2, *args )
- Ergibt das Maximum der Argumentwerte.