Estoy usando getattr para llamar a diferentes funciones dependiendo de una variable.Python usando getattr para llamar a la función con parámetros variables
que estoy haciendo algo por el estilo:
getattr(foo, bar)()
que funciona, llamar a funciones como foo.bar()
Mi problema es que tengo las funciones de 'bar' y quiero llamarlo con diferentes parámetros. Por ejemplo:
def f1() :
pass
def f2(param1) :
pass
def f3(param1,param2) :
pass
modo 'barra' podría ser F1, F2 o F3
He intentado esto: assumming que params es una lista que contiene todos los parámetros necesarios para la función de 'bar'
getattr(foo, bar) (for p in params :)
que ver para una solución "limpia", sin necesaria para observar la longitud de los parametros variables
Sé que OP no me preguntó específicamente, pero yo agregaría '** kwargs' también, para que no termine con la tarea de rastrear errores más adelante si intentara usar argumentos de palabra clave. –
@ sr2222 - Agregado. – mgilson