Parámetros: *args, **kwargs, *k, *kw

Primero felicitarles por la inclusión del API en la nueva versión de Pilas-Engine una ayuda muy necesaria, en dicha API encuentro los siguientes parámetros:
*args, **kwargs, *k, *kw
Por favor indiquenme que significa o donde encuentro información al respecto.
Gracias

Hola @raulpilas, los argumentos tipo *k o **kw sirven para crear funciones con argumentos variables u opcionales en python.

Por ejemplo, si construimos una función así:

def mostrar_mensaje(*k):
    print k

la función se va a poder llamar con todos los argumentos que queramos, por ejemplo:

mostrar_mensaje()
mostrar_mensaje("hola")
mostrar_mensaje("hola", "mundo", 1233, "mas texto")

es decir, para python, el argumento k va a ser una especie de agrupador de argumentos, dentro de la función mostrar_mensaje, k va a convertirse en una lista que va a tener dentro todos los argumentos utilizados. Por ejemplo, en el primer caso k va a ser [], en el segundo caso ["hola"] etc…

El argumento **kw es similar, pero en lugar de una lista va a tomar forma de diccionario, y sirve para agrupar los argumentos nombrados, por ejemplo:

def clasificar(**kw):
      print kw

se va a poder llamar así:

clasificar(uno=1)
clasificar(otro_argumento=12, mensaje="hola")

Por lo generar estos tipos de argumentos se usan para ‘re-dirigir’ todos los argumentos de una función a otra… bah, al menos en pilas se usa mucho para eso.

De todas formas, en el caso particular de la documentación de pilas, esos argumento los tendríamos que documentar para que expliquen a quién lee la documentación “qué” valores se van a poder enviar a cada función.

¿En qué funciones encontraste esos argumentos?, así lo veo más en detalle.

Gracias Hugo por tu explicación.
Respecto a tu pregunta. Estos parámetros los encontré en varios lugares de la documentación API que incluiste.
Por ejemplo:

  1. class pilasengine.actores.actor.Actor(pilas=None, *k, **kv)

  2. imitar(otro_actor_o_figura, *args, **kwargs)
    Hace que un Actor copie la posición y la rotación de otro Actor o Figura fisica.

  3. conectar_presionado(funcion, *args, **kwargs)
    Permite conectar un método para que sea ejecutado cuando el botón se presiona.

Gracias.
Raúl

Gracias @raulpilas, ahora me pongo a documentarlo mejor. Gracias.

Gracias a ti Hugo.
Un abrazo
Raúl