Semantik der Tupel entpacken in python

Warum python erlauben nur den benannten Argumenten zu Folgen, einen Tupel-Auspacken-Ausdruck in einer Funktion aufrufen?

>>> def f(a,b,c):
...     print a, b, c
... 
>>> f(*(1,2),3)
  File "<stdin>", line 1
SyntaxError: only named arguments may follow *expression

Ist es einfach eine ästhetische Wahl, oder gibt es Fälle, wo erlaubt dies würde dazu führen, dass einige Unklarheiten?

  • Sie können fügen Sie die Letzte argument des Tupels vor dem Auspacken.
  • Eine interessante Frage. Ich scheine zu erinnern, die Regeln geändert, um python 2.5 - Sie verwendet zu haben, um die *args und **kwargs am Ende, aber ich kann nicht finden die changelog-Eintrag.
InformationsquelleAutor user545424 | 2012-05-23
Schreibe einen Kommentar