Я пытаюсь найти имя класса, содержащего код метода.
В приведенном ниже примере я использую 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()