Я пытаюсь найти имя класса, содержащего код метода.
В приведенном ниже примере я использую self.__class__.__name__
, но, конечно, это возвращает имя класса, для которого self является экземпляром, а не классом, который содержит код метода test()
. b.test()
будет печатать 'B'
, пока я хотел бы получить 'A'
.
Я просмотрел документацию модуля inspect
, но не нашел ничего полезного.
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()