2011-06-12 12 views

Respuesta

40

Sí, pero no los pasa a getattr(); llama a la función como normal una vez que tiene una referencia a ella.

getattr(obj, 'func')('foo', 'bar', 42) 
23

Si desea invocar un método dinámico con una lista dinámica de argumentos/argumentos de palabra clave, puede hacer lo siguiente:

function_name = 'wibble' 
args = ['flip', 'do'] 
kwargs = {'foo':'bar'} 

getattr(obj, function_name)(*args, **kwargs) 
+0

Gracias por el enfoque kwargs adicionales. – dave4jr

Cuestiones relacionadas