llamar a una funcion con el nombre string deunparametro

Raydel Miranda Gomez rmiranda en estudiantes.uci.cu
Mar Abr 15 16:07:29 CEST 2008


el MODULO donde esta definida la funcion es un objeto, y tiene un atributo que es dicha funcion, lo que puedes hacer es:

en vez de:

def Function(arg1, arg2, namefunc):
        exec 'res = %s(%s, %s)' % (namefunc, arg1, arg2)
        return res

pones:

suponiendo que la funcion sea del modulo "mod"

def Function(arg1, arg2, namefunc):
        func = getattr(mod, namefunc)
        res =  func(arg1, arg2)
        return res



----------------------------------------
Raydel Miranda Gómez
Universidad de las Ciencias Informáticas
Facultad de Software Libre
Desarrollador de NoVa LNX

Despues de terminado el juego , el peon y el rey, regresan a la misma caja.
(proverbio italiano)

________________________________

From: python-es-bounces en aditel.org on behalf of Otto Machado
Sent: Tue 15.04.2008 9:13
To: 'Lista de discusión sobre python en castellano'
Subject: [Python-es] llamar a una funcion con el nombre string de unparametro



Hola lista>

Estoy pasandole a una function el nombre de otra función a llamar dentro de ella, este parámetro por supuesto es un string, quiero crear una llamada a una función con ese nombre, busque en la ayuda de python y hasta ahora encontré lo siguiente>

def Function(arg1, arg2, namefunc):
        exec 'res = %s(%s, %s)' % (namefunc, arg1, arg2)
        return res

Pero si saben una forma mas eficiente les agradeceré que me digan.

saludos





------------ próxima parte ------------
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes


Más información sobre la lista de distribución Python-es