Относительно about python __doc__ docstring. В случае, если я не использую functools и использую обертку, как указано в How to print Docstring of python function from inside the function itself?, есть способ получить напечатанную docstring.Как напечатать docstring вне функции с помощью оберток?
def passmein(func):
def wrapper(*args, **kwargs):
return func(func, *args, **kwargs)
return wrapper
@passmein
def testfunc(me):
"""This is a test function"""
#print me.__doc__
if __name__ == '__main__':
print testfunc.__doc__
Это не возвращает.
Почему вы пытаетесь напечатать 'мне .__ doc__' вместо' testfunc .__ doc__'? – abarnert
Между тем, если все, что вы задаете, - это то, как обернуть функции таким образом, чтобы сохранить docstring без использования 'functools.wraps' ... просто посмотрите на [источник] (http://hg.python.org/cpython/file /2.7/Lib/functools.py#l15) и сделать то же самое. Но я не могу представить, почему вы когда-либо хотели этого. – abarnert
@ abamert- Печать должна была использовать его для отображения docstring изнутри функции, когда я ее вызываю. –