[pyar] ejecutar metodo pasado por parametro

Gabriel Davini gabrielfranciscodavini en gmail.com
Jue Oct 2 11:53:19 ART 2014


2014-10-02 11:37 GMT-03:00 Javier Marcon <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.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20141002/db698402/attachment.html>


More information about the pyar mailing list