⚡️ Упрощаем создание декораторов



Помните, мы уже говорили про создание декораторов и классов-декораторов. В этот раз мы поговорим о декораторе, который используется для создания этих самых декораторов.



Для этого мы воспользуемся декоратором @wraps из модуля functools — это упрощение для функции functools.update_wrapper.



Её задача — выдавать себя за настоящую функцию, которая использует декоратор. То есть, она подменивает значения name и doc на значения реальной функции.



Если мы попытаемся получить имя или документацию функции, использующую декоратор, то мы получим все значения wrapper. Это может сбить некоторые редакторы и программистов с толку, поэтому многие используют @wraps, как на примере выше.



#миниурок #functools #декоратор