Получить имя класса декорированного метода класса

Рассмотрим следующий сценарий:

import functools

def wrapmethod(f):
    @functools.wraps(f)
    def wrap(*args, **kwargs):
        print '>> %s' % (f.func_name)

        # Here I'll do pre-processing
        r = f(*args, **kwargs)
        # Here I'll do post-processing

        return r

    return wrap

@wrapmethod
def foo():
    pass

class Test(object):
    @wrapmethod
    def foo(self):
        pass

test = Test()
test.foo()
foo()

Он выведет это, как вы можете видеть, выполненное в http://codepad.org/Y4xXyjJO1175154_:

>> foo
>> foo

Я хочу знать, как вывести Test.foo в первой строке, указав класс, с которым связан метод.

Есть идеи? Возможно ли такое?

Заранее благодарю.

5
задан idmean 12 July 2019 в 12:54
поделиться