Nombre de modulos heredados
Xavier Noria
fxn en hashref.com
Mie Mayo 18 08:44:29 CEST 2005
On May 18, 2005, at 0:43, Ezequiel Foncubierta wrote:
> Hola,
>
> veamos. Tengo una clase A en un módulo A, que hereda de una clase B en
> un módulo B. Ésta clase B, a su vez, hereda de una clase C en un
> módulo
> C.
>
> El problema, es que C ejecuta __init__ y no se como sacar el nombre de
> la clase que está ejecutando ese __init__.
>
> Supongamos que tengo una clase D en un módulo D, que también hereda de
> B, como la clase A. ¿Como puedo saber desde C.__init, que clase ha
> sido
El self que se pasa a C.__init__ ya lo creo Python del tipo que toca:
% cat foo.py
class Foo:
def __init__(self):
print "in Foo", self.__class__
% cat bar.py
import foo
class Bar(foo.Foo):
pass
% cat baz.py
import bar
class Baz(bar.Bar):
pass
% python
Python 2.4.1 (#1, Mar 30 2005, 16:23:57)
[GCC 3.3 20030304 (Apple Computer, Inc. build 1666)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import baz
>>> baz.Baz()
in Foo baz.Baz
<baz.Baz instance at 0x38f0f8>
-- fxn
Más información sobre la lista de distribución Python-es