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?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage