J'essaie de trouver le nom de la classe qui contient le code de la méthode.nom de la classe qui contient le code de méthode
Dans l'exemple ci-dessous, j'utilise self.__class__.__name__
, mais bien sûr cela renvoie le nom de la classe dont self est une instance et non une classe qui contient le code de méthode test()
. b.test()
va imprimer 'B'
pendant que je voudrais obtenir 'A'
.
J'ai regardé dans la documentation du module inspect
mais je n'ai rien trouvé directement utile.
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()
Vous le savez au moment du codage, non? C'est A: 'def test (self): affiche" A "'. –
Je veux éviter de répliquer le nom de la classe. Si je change le nom de la classe de 'A' à' AA', je serai le premier à oublier l'instruction '' print ''. – user266940