[pyar] ejecutar metodo pasado por parametro
Javier Marcon
javiermarcon en gmail.com
Vie Oct 3 09:43:40 ART 2014
El 02/10/14 a las 11:53, Gabriel Davini escibió:
>
> 2014-10-02 11:37 GMT-03:00 Javier Marcon <javiermarcon en gmail.com
> <mailto:javiermarcon en gmail.com>>:
>
> Hola, a un metodo de una clase le quiero pasar un parámetro que sea el
> nombre de un método de otra calase y que me lo ejecute como el
> metodo de
> la otra clase:
>
>
> Hola, si entiendo bien vos querés hacer algo asi:
>
> class A():
> def warn(self, msj):
> print "warn: %s" % msg
> def info(self, msj):
> print "info: %s" % msg
> def error(self, msj):
> print "error: %s" % msg
>
> class B():
> def mensaje(self, nivel, msj):
> a = A()
> try:
> getattr(a, nivel)(msj)
> except AttributeError:
> print "no existe el método '%s' en la clase A" % nivel
>
> >> b = B()
> >> b.mensaje("info", "este es un info")
> "info: este es un info"
> >> b.mensaje("warn", "este es un warn")
> "warn: este es un warn"
> >> b.mensaje("noexiste", "este metodo no existe")
> no existe el método 'noexiste' en la clase A
>
> Bueno espero haber entendido bien.
> Saludos.
>
> --
> Gabriel.
>
Gracias, funcionó perfecto con getattr(a, nivel)(*pargs, **kwargs)
Saludos,
Javier.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20141003/d1a6095d/attachment.html>
More information about the pyar
mailing list