tuple als parameter liste

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Jona
User
Beiträge: 94
Registriert: Sonntag 23. September 2007, 23:25

tuple als parameter liste

Beitragvon Jona » Dienstag 30. Oktober 2007, 15:49

ich möchte einer klasse einen funktionsnamen und eine parameterlsite als tupel übergeben. die entsprechende funktion soll dann mit den parametern ausgeführt werden.
an die funktion komme ich mit getattr, aber wie übergeben ich am besten die parameter?

Code: Alles auswählen

def rpc(funcname, params):
  f = getattr(self, funcname)
  f( ??? ) # wie krieg ich jetzt hier die parameter rein?

rpc("add", (1,2))
Zap
User
Beiträge: 533
Registriert: Freitag 13. Oktober 2006, 10:56

Beitragvon Zap » Dienstag 30. Oktober 2007, 15:55

Hi Jona

Mit dem Sternoperator zum entpacken:

Code: Alles auswählen

def rpc(funcname, params):
  f = getattr(self, funcname)
  f(*params)

rpc("add", (1,2))
Jona
User
Beiträge: 94
Registriert: Sonntag 23. September 2007, 23:25

Beitragvon Jona » Dienstag 30. Oktober 2007, 16:27

ahhh schick :)

danke :)
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Dienstag 30. Oktober 2007, 18:49

Wenn man das auf Old-School-Weise machen will, kann man auch `apply()` verwenden.
My god, it's full of CARs! | Leonidasvoice vs Modvoice

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]