Для чего используется декоратор functools.wraps?
Уровень: Senior
Ответ
functools.wraps используется внутри декоратора для сохранения “идентичности” декорируемой функции. Декораторы обычно возвращают новую функцию-обёртку, и без wraps эта обёртка не несёт метаданных оригинальной функции (имя, docstring, аннотации). Декоратор @wraps(original_func) копирует атрибуты (например, __name__, __doc__) оригинальной функции на функцию-обёртку. Это важно для отладки, логирования, помощи (help()) и т.д., чтобы декорированные функции не “теряли лицо”.