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:
-
class pilasengine.actores.actor.Actor(pilas=None, *k, **kv)
-
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. -
conectar_presionado(funcion, *args, **kwargs)
Permite conectar un método para que sea ejecutado cuando el botón se presiona.
Gracias.
Raúl
Gracias a ti Hugo.
Un abrazo
Raúl