Я написал декоратор функций следующим образом:
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
вызывается только один раз.
Пожалуйста, помогите мне понять, почему это происходит.