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 poraeyb 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?

Respuestas a la pregunta(3)

Su respuesta a la pregunta