【发布时间】:2011-07-01 19:17:21
【问题描述】:
考虑这种情况:
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/Y4xXyjJO中看到的那样:
>> 富 >> 富
我想知道一种在第一行打印出Test.foo 的方法,表明该方法链接到的类。
有什么想法吗?有可能吗?
提前谢谢你。
【问题讨论】: