saber a que clase pertenece un __init__ cualquiera

Chema Cortes pych3m4 en gmail.com
Vie Abr 4 08:53:34 CEST 2008


El 2/04/08, Milton Galo Patricio Inostroza Aguilera
<minoztro en gmail.com> escribió:
> Estimado:
>
>     Necesito saber en un programa a quien pertenece el metodo __init__, ejemplo:
>
>  >>> class prueba(object):
>  ...     def __init__(self):
>  ...             a = 20
>  ...
>  >>> print prueba.__dict__
>  {'__dict__': <attribute '__dict__' of 'prueba' objects>, '__module__':
>  '__main__', '__weakref__': <attribute '__weakref__' of 'prueba'
>  objects>, '__doc__': None, '__init__': <function __init__ at
>  0xb7d51374>}
>
>  hasta ahi todo bien....es decir puedo identificar el metodo __init__
>  desde el diccionario interno de la clase..pero como lo puedo hacer de
>  vuelta es decir, lo sigueinte:
>
>  >>> print prueba.__dict__['__init__']
>  <function __init__ at 0xb7d51374>
>
>  y a partir de este objeto saber a que clase esta vinculada....al
>  parecer esta dificil la cosa ya que es un unbound method =/....alguien
>  me puede orientar, he tratado de manipular frame, function,
>  code...pero nada.

No se puede. Los métodos son descriptores no-ligados que permanecen
así hasta que se cree la instancia.

No sé qué quieres hacer; pero seguro que no vas por el camino adecuado.
_______________________________________________
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