Usando argumentos predeterminados antes de argumentos posicionales
Estoy aprendiendo a usar argumentos posicionales en Python y también trato de ver cómo funcionan cuando se mezclan con los argumentos predeterminados:
def withPositionalArgs(ae=9,*args):
print 'ae= ', ae
print 'args = ', args
a=1
b=2
c=[10,20]
withPositionalArgs(a,b,c)
Esto me da la salida:
ae= 1
args = (2, [10, 20])
Como puedes ver,a
es considerado como un valor pasado porae
yb
tanto comoc
Se consideran los argumentos posicionales.
Por lo tanto, ahora estoy tratando de asignar10
paraae
mientras llamawithPositionalArgs
:
withPositionalArgs(ae=10,b,c)
Pero no puedo hacerlo. Me sale el error:
SyntaxError: non-keyword arg after keyword arg
Mi pregunta es:
¿Estoy haciendo correctamente? ¿Se permite tener argumentos predeterminados o es una buena práctica usarlos antes que los argumentos posicionales en las funciones de python?