Verwenden von Standardargumenten vor Positionsargumenten
Ich lerne die Verwendung von Positionsargumenten in Python und versuche auch zu sehen, wie sie funktionieren, wenn sie mit Standardargumenten verwechselt werden:
def withPositionalArgs(ae=9,*args):
print 'ae= ', ae
print 'args = ', args
a=1
b=2
c=[10,20]
withPositionalArgs(a,b,c)
Das gibt mir die Ausgabe:
ae= 1
args = (2, [10, 20])
Wie du siehst,a
gilt als übergebener Wertae
, undb
ebenso gut wiec
gelten als die Positionsargumente.
Also versuche ich jetzt zuzuweisen10
zumae
beim anrufenwithPositionalArgs
:
withPositionalArgs(ae=10,b,c)
Aber ich kann es nicht tun. Ich erhalte den Fehler:
SyntaxError: non-keyword arg after keyword arg
Meine Frage ist:
Mache ich das richtig Ist es zulässig, ein Standardargument oder eine bewährte Methode vor Positionsargumenten in Python-Funktionen zu verwenden?