Вам не нужен какой-либо необычный осмотр, чтобы сделать это:
>>> x = child_class_2()
>>> x.test
<function base_class.test at 0x7fea1a07f7b8>
>>> y = child_class()
>>> y.test
<function child_class.test at 0x7fea1a07f950>
По умолчанию напечатанное имя происходит из атрибута __qualname__
функции:
>>> x.test.__qualname__
base_class.test
>>> y.test.__qualname__
child_class.test
Хакерский способ получить название класса -
x.test.__qualname__[:-len(x.test.__name__) - 1]