Ver Mensaje Individual
  #5 (permalink)  
Antiguo 28/04/2014, 07:19
Avatar de Italico76
Italico76
 
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 7 meses
Puntos: 292
Respuesta: Funciones en tiempo de ejecución

Incluso se pude hacer mas general........ primero lo facil.... con eval()

Código Python:
Ver original
  1. class MiClase():
  2.     def unMetodoCualquiera(self):
  3.         print("Correcto : has accedido!")
  4.  
  5.     def otroMetodoCualquiera(self):
  6.         print("Correcto : has accedido a otro metodo!")
  7.  
  8.  
  9. nom_clase = "MiClase"
  10. clase     = eval(nom_clase+'()')
  11.  
  12. metodo    = getattr(clase,"unMetodoCualquiera")
  13. metodo()
  14.  
  15. metodo    = getattr(clase,"otroMetodoCualquiera")
  16. metodo()


Ahora... la version "segura" sin eval() ...

Código Python:
Ver original
  1. class MiClase():
  2.     def unMetodoCualquiera(self):
  3.         print("Correcto : has accedido!")
  4.  
  5.     def otroMetodoCualquiera(self):
  6.         print("Correcto : has accedido a otro metodo!")
  7.  
  8.  
  9. nom_clase = "MiClase"
  10. clase = locals()[nom_clase]
  11.  
  12. if isinstance(clase, object):
  13.  
  14.     metodo    = getattr(clase(),"unMetodoCualquiera")
  15.     metodo()
  16.  
  17.     metodo    = getattr(clase(),"otroMetodoCualquiera")
  18.     metodo()

Aho tienes...especifico Clase y Metodo ***
__________________
Salu2!

Última edición por Italico76; 28/04/2014 a las 07:51