[pyar] Como puedo pasarle argumentos a una funcion ?
Lucas
rollbak en gmail.com
Jue Abr 14 19:22:47 ART 2011
2011/4/14 Emiliano Dalla Verde Marcozzi <edvm en airtrack.com.ar>
> Buenas querida lista,
> Tengo el siguiente code incompleto ...
>
> ef process(action, args):
> ''' Dados action y argumentos, me fijo que action sea una funcion
> definida,
> caso afirmativo, llamo a la funcion con args
> '''
> if action is None: # si no tengo action, retorno
> log.msg('action es None, retorno')
> return
>
> if action not in metodos.keys():
> log.msg('%s no es un metodo definido' % action)
> return
>
> method = metodos[action] # guardo referencia al metodo / funcion
>
> if args is not None:
> # cantidad de parametros de nuestra funcion, si es que acepta
> argslen = getattr(method.func_code, 'co_argcount', None)
> if argslen is not None:
> # ACA FUI :)
>
> process toma dos parametros, action es un string cual es el nombre
> del metodo al cual se va a llamar, y args son los argumentos que se
> le van a pasar al metodo action. El problema que tengo es justamente
> pasarle los argumentos a la funcion (chan !)
> Ej:
> 1- method = metodos[action] #aca guardo la funcion, puedo llamarla por
> method()
> 2- method(args) # args es una lista, aca se me jodio todo.
>
> Puede ocurrir, que method guarde referencia a una funcion 'foobar' definida
> como:
>
> def foobar(arg1, arg2):
> return arg1 + arg2
>
> Mi problema, o lo que quiero intentar hacer, es no tener que redefinir
> foobar para
> que tome una lista, o escribir otra funcion que tome como argumento la
> lista y llame
> a foobar como corresponde, sino, de alguna forma iterar por la lista, y
> asumir que el
> primer valor de la lista corresponde al primer argumento de la funcion, el
> segundo
> valor de la lista corresponde al segundo argumento de la funcion y asi ....
>
> Le heche un ojo a inspect de la std library, y no encontre forma de como
> lograrlo,
> ideas ? ^^''
> Gracias de antemano,
>
>
> --
> *Emiliano Dalla Verde Marcozzi*
> Encargado de IT y Python Ninja Developer
>
>
>
Buenas,
Probaste con un: method(*args)
saludos,
--
Lucas
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20110414/e031e471/attachment.html>
More information about the pyar
mailing list