Partial(): TypeError: multiple values for argument
Verfasst: Sonntag 8. Mai 2016, 11:23
Hey, ich versuche gerade mir Python beizubringen und beschäftige mich im Moment mit der partial Funktion.
Folgender Code funktioniert einwandfrei:
Wenn ich bei der partial Funktion diese Tags nicht angebe werden die Parameter ja einfach von links nach rechts genommen. Aber in diesem Beispiel habe ich z und y gesetzt und somit ist praktisch nur x variabel in der neuen Funktion.
Sobald ich jetzt aber x mit diesem "Tag" setzen möchte, also:
, dann kommt folgender Fehler:
allerdings verstehe ich nicht, warum ich bei dem ersten Parameter das Keyword nicht setzen kann, bei allen anderen aber schon.
Hoffe mir kann da jemand helfen
Grüße
Folgender Code funktioniert einwandfrei:
Code: Alles auswählen
from functools import partial
def f(x, y, z):
print("x:", x, "y:", y, "z:", z)
f2 = partial(f, z=5, y=3)
f2(1)
Sobald ich jetzt aber x mit diesem "Tag" setzen möchte, also:
Code: Alles auswählen
f2 = partial(f, x=5, z=3)Mir ist bewusst, dass ich genauso gut schreiben könnte:Traceback (most recent call last):
File "<stdin>", line 9, in <module>
TypeError: f() got multiple values for argument 'x'
Code: Alles auswählen
f2 = partial(f, 5, z=3)Hoffe mir kann da jemand helfen
Grüße