Functools.update_wrapper () не работает должным образом

я используюFunctools.update_wrapper() в моем декораторе, но похожеupdate_wrapper переписывает только атрибуты функций (например,__doc__, __name__), но не влияет наhelp() функция.

Я в курсеэти ответы, но они не работают с декоратором.

Вот моя функция.

import functools

class memoized(object):

    def __init__(self, func):
        self.func = func
        functools.update_wrapper(self, func)

    def __call__(self, *args):
        self.func(*args)

@memoized 
def printer(arg):
    "This is my function"
    print arg

Вот вывод

>>> printer.__doc__
This is my function

>>> help(printer)
Help on memoized in module __main__ object:

printer = class memoized(__builtin__.object)
 |  Methods defined here:
 |  
 |  __call__(self, *args)
 |  
 |  __init__(self, func)
 |  
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |  
 |  __dict__
 |      dictionary for instance variables (if defined)
 |  
 |  __weakref__
 |      list of weak references to the object (if defined)

Это похоже на ошибку, но как я могу это исправить?

Ответы на вопрос(1)

Ваш ответ на вопрос