все Python 3functoolsфункция
functools.update_wrapper
functools
Копирует метаданные (__name__, __doc__, …) с обёрнутой функции на обёртку; основа декоратора @functools.wraps.
Синтаксис
functools.update_wrapper(wrapper, wrapped)
Напрямую вызывать почти не приходится: @functools.wraps — это тот же update_wrapper, оформленный как декоратор. Прямой вызов нужен, когда обёртка родилась не из def внутри декоратора — например, это объект functools.partial или экземпляр класса с __call__. Функция правит wrapper на месте (и возвращает его же), а заодно кладёт в него ссылку __wrapped__, благодаря которой inspect.signature показывает параметры оригинала, а не (*args, **kwargs).
Примеры
import functools
def orig():
'док'
def wrap():
pass
functools.update_wrapper(wrap, orig)
print(wrap.__name__) # → orig
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности