Erklärung zu ** + kwargs
Verfasst: Mittwoch 24. August 2005, 11:48
Ich habe in einem Posting das hier gesehen (und natürlich auch gleich ausprobiert).
So wie ich das sehe, kommt man mit * an die Schlüssel und mit ** an die Werte.
Aber ein pures "print *d" klappt ja nicht.
Was passiert da also genau, und warum werden bei foo(*d) c und b vertauscht?
Wenn ich grad beim Fragen bin:
Was hat es eigentlich mit dem *kwargs auf sich?
Code: Alles auswählen
>>> def foo(a,b,c):
print a, b, c
>>> d = {"a":"A", "b":"B","c":"C"}
>>> foo(**d)
A B C
>>> foo(*d)
a c b
>>>
Aber ein pures "print *d" klappt ja nicht.
Was passiert da also genau, und warum werden bei foo(*d) c und b vertauscht?
Wenn ich grad beim Fragen bin:
Was hat es eigentlich mit dem *kwargs auf sich?