llamar a una funcion con el nombre string de unparametro

Raydel Miranda Gomez rmiranda en estudiantes.uci.cu
Mar Abr 15 15:57:38 CEST 2008


el metodo 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