Seite 1 von 1

funktion dynamisch mit parameter befüllen

Verfasst: Montag 11. Juni 2007, 15:43
von roakin
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. die einzige idee die ich jetzt habe ist alle objekte wieder ein eine eigene datenstruktur zu schmeißen und diese zu übergeben ... aber trotzdem die frage ob das theoretisch auch anders ginge

Verfasst: Montag 11. Juni 2007, 15:55
von apollo13

Re: funktion dynamisch mit parameter befüllen

Verfasst: Montag 11. Juni 2007, 16:14
von Michael Schneider
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 Argumenttupel (mit *, ohne Leerzeichen) und schließlich das Schlüsselwortargumentdictionary ü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