Estoy tratando de encontrar el nombre de la clase que contiene el código de método.nombre de la clase que contiene el código de método
En el ejemplo de abajo utilizo self.__class__.__name__
, pero por supuesto esto devuelve el nombre de la clase de la cual self es una instancia y no una clase que contiene el código de método test()
. b.test()
imprimirá 'B'
mientras que me gustaría obtener 'A'
.
Miré en la documentación del módulo inspect
pero no encontré nada directamente útil.
class A:
def __init__(self):
pass
def test(self):
print self.__class__.__name__
class B(A):
def __init__(self):
A.__init__(self)
a = A()
b = B()
a.test()
b.test()
Lo sabe en el momento de la codificación, ¿no? Es A: 'prueba de def (auto): imprimir" A "'. –
Quiero evitar replicar el nombre de clase. Si cambio el nombre de la clase de 'A' a' AA', seré el primero en olvidar adentar la instrucción 'print 'A' '. – user266940