Использование аргументов по умолчанию перед позиционными аргументами
Я учусь использовать позиционные аргументы в Python, а также пытаюсь увидеть, как они работают, когда смешиваются с аргументами по умолчанию:
def withPositionalArgs(ae=9,*args):
print 'ae= ', ae
print 'args = ', args
a=1
b=2
c=[10,20]
withPositionalArgs(a,b,c)
Это дает мне вывод:
ae= 1
args = (2, [10, 20])
Как вы видете,a
считается значением, переданным дляae
, а такжеb
так же какc
считаются позиционными аргументами.
Итак, я сейчас пытаюсь назначить10
заae
во время звонкаwithPositionalArgs
:
withPositionalArgs(ae=10,b,c)
Но я не могу этого сделать. Я получаю ошибку:
SyntaxError: non-keyword arg after keyword arg
My question is:
Я правильно делаю? Разрешено ли использование аргумента по умолчанию или хорошая практика для использования перед позиционными аргументами в функциях python?