Usando argumentos padrão antes de argumentos posicionais
Eu estou aprendendo a usar argumentos posicionais em python e também tentando ver como eles funcionam quando misturados com argumentos padrão:
def withPositionalArgs(ae=9,*args):
print 'ae= ', ae
print 'args = ', args
a=1
b=2
c=[10,20]
withPositionalArgs(a,b,c)
Isso me dá a saída:
ae= 1
args = (2, [10, 20])
Como você pode ver,a
é considerado um valor passado porae
eb
assim comoc
são considerados os argumentos posicionais.
Então, agora estou tentando atribuir10
paraae
enquanto chamawithPositionalArgs
:
withPositionalArgs(ae=10,b,c)
Mas eu não posso fazer isso. Eu recebo o erro:
SyntaxError: non-keyword arg after keyword arg
Minha pergunta é:
Estou fazendo certo? O argumento padrão é permitido ou uma boa prática para usar antes de argumentos posicionais em funções python?