Używanie domyślnych argumentów przed argumentami pozycyjnymi
Uczę się używać argumentów pozycyjnych w pythonie, a także próbuję zobaczyć, jak działają, gdy są pomieszane z domyślnymi argumentami: -
def withPositionalArgs(ae=9,*args):
print 'ae= ', ae
print 'args = ', args
a=1
b=2
c=[10,20]
withPositionalArgs(a,b,c)
To daje mi dane wyjściowe:
ae= 1
args = (2, [10, 20])
Jak widzisz,a
jest uważana za wartość przekazaną dlaae
, ib
jak równieżc
są uważane za argumenty pozycyjne.
Próbuję teraz przypisać10
dlaae
podczas rozmowywithPositionalArgs
:
withPositionalArgs(ae=10,b,c)
Ale nie mogę tego zrobić. Dostaję błąd:
SyntaxError: non-keyword arg after keyword arg
Moje pytanie brzmi:
Czy robię poprawnie? Czy dozwolony jest domyślny argument lub dobra praktyka przed użyciem argumentów pozycyjnych w funkcjach Pythona?