Если fn
является instancemethod
, то вы можете использовать fn.im_class
.
>>> class Foo(object):
... def bar(self):
... pass
...
>>> Foo.bar.im_class
__main__.Foo
Обратите внимание, что это не будет работать от декоратора, поскольку функция преобразуется только в метод экземпляра после , когда класс определен (т. Е. Если @specialTest
использовался для украсить bar
, это не сработает; если это вообще возможно, сделать это в этот момент нужно будет путем проверки стека вызовов или чего-то такого же несчастного).