sto imparando a usare argomenti posizionali in pitone e anche cercando di vedere come funzionano quando si confonde con gli argomenti di default: -usando argomenti di default prima di argomenti posizionali
def withPositionalArgs(ae=9,*args):
print 'ae= ', ae
print 'args = ', args
a=1
b=2
c=[10,20]
withPositionalArgs(a,b,c)
Questo mi dà l'output:
ae= 1
args = (2, [10, 20])
come si può vedere, a
è considerato un valore passato per ae
, e b
nonché c
sono considerati gli argomenti posizionali.
Così, ora sto cercando di assegnare 10
per ae
durante la chiamata withPositionalArgs
:
withPositionalArgs(ae=10,b,c)
Ma, io non posso farlo. Ottengo l'errore:
SyntaxError: non-keyword arg after keyword arg
La mia domanda è:
Sto facendo in modo corretto? L'argomento predefinito è consentito o una buona pratica da usare prima degli argomenti posizionali nelle funzioni python?
Si potrebbe chiamare con 'withPositionalArgs (10, b, c)'. –
La cosa "sorprendente" è che chiamando ... (1, ae = 2) lancia 'TypeError: ...() ha ottenuto più valori per l'argomento di parole chiave 'ae''. –