【发布时间】:2013-01-10 06:27:22
【问题描述】:
我写了一个这样的函数装饰器:
def tsfunc(func):
def wrappedFunc():
print '%s() called' % func.__name__
return func()
return wrappedFunc()
@tsfunc
def foo():
pass
foo() # to get it work, use foo instead of foo()
foo()
我收到以下错误消息:
foo() called
Traceback (most recent call last):
File "decorator.py", line 11, in <module>
foo()
TypeError: 'NoneType' object is not callable
我通过将“foo()”替换为“foo”来实现它。但我还是没有得到我期望的结果:
foo() called
好像foo 函数只被调用一次。
请帮助我理解为什么会这样。
【问题讨论】:
标签: python python-2.7 decorator python-decorators