У меня проблема с использованием docstrings с декораторами. В следующем примере:
def decorator(f):
def _decorator():
print 'decorator active'
f()
return _decorator
@decorator
def foo():
'''the magic foo function'''
print 'this is function foo'
help(foo)
Теперь помощь не показывает мне docstring foo
, как и ожидалось, она показывает:
Help on function _decorator in module __main__:
_decorator()
Без декоратора помощь верна:
Help on function foo in module __main__:
foo()
the magic foo function
Я знаю, что функция foo
обернута декоратором, поэтому объект функции больше не является функцией foo
. Но что хорошего решения для получения docstring (и помощи), как ожидалось?