Es gibt eine besondere Methode, um einer Funktion Parameter als Tupel oder
Dictionary zu übergeben, nämlich indem man den Parametern
*
bzw. **
voranstellt.
Dies ist nützlich, wenn eine Funktion eine beliebige Zahl von Parametern
entgegennehmen soll.
Beispiel: potenzsumme.py
>>> def potenzsumme(potenz, *parameter): ... '''Gibt die Summe der angegebenen Potenz aller Parameter zurueck.''' ... summe = 0 ... for i in parameter: ... summe += pow(i, potenz) ... return summe ... >>> potenzsumme(2, 3, 4) # 3^2 + 4^2 25 >>> potenzsumme(2, 10) # 10^2 100
Aufgrund des vorangestellten *
bei der Variable parameter
,
werden alle zusätzlichen Parameter, die der Funktion übergeben werden, als ein Tupel
in parameter
gespeichert. Wenn stattdessen ein **
vorangestellt worden wäre, dann wären die zusätzlichen Parameter als Schlüssel/Wert-Paare eines
Dictionaries betrachtet worden.