roakin hat geschrieben:ist es möglich einer funktion eine dynamische anzahl von parametern mitzugeben? ich habe mehrere objekte (deren anzahl variieren kann), die alle einer funktion mitübergeben werden müssten.
Hi Roakin,
klar. Wenn Du weißt, wie Du Parameter in Funktionen entgegennimmst:
Code: Alles auswählen
def f(argument1, swargument1=1, *restargumenttupel, **restswargumentdictionary):
print argument1, swargument1, restargumenttupel, restswargumentdictionary
... kannst Du dasselbe Prinzip beim Aufruf verwenden:
Code: Alles auswählen
f(argument1, swargument1, *argumenttupel, **swargumentdictionary)
Wichtig ist, dass Du immer erst die Argumente, dann die Schlüsselwortargumente, dann die Argument
tupel (mit *, ohne Leerzeichen) und schließlich das Schlüsselwortargument
dictionary übergibst. Du kannst das auch kombinieren oder Elemente auslassen - solange Du insgesamt genau oder mindestens (wenn restliche Argumente abgefangen) so viele Argumente übergibst, wie Du in der Funktion erwartest.
Grüße,
Michael