[Python-de] Unpacking Argument Lists
Achim Domma (Procoders)
domma at procoders.net
Die Nov 16 21:46:27 CET 2004
Hi,
ich versuch's mal, wobei hier sicher Leute sind, die mich korrigieren
können:
> Kurz: Warum funktioniert das eine und warum ist das andere ein
> SyntaxError? Ich kann keinen wesentlichen Unterschied erkennen.
Der Unterschied ist, daß du einmal einen Funktionsaufruf hast und das
andere mal nicht. Der * ist keine Operator, den du auf ein Tupel
anwenden kannst, sondern eine Art, einer Funktion Parameter zu übergeben.
Beim Syntax Error wird keine Funktion aufgerufen, von daher hat der * da
nix zu suchen. Du kannst ja auch sowas machen:
params{
'name1':'value1',
'name2':'value2'
}
some_fkt(**params)
Das heißt aber (meines Wissens) noch lange nicht, daß **params allgemein
was sinnvolles machen sollte.
Gruß,
Achim