🔹 Декораторы Python: как и зачем 🔹 Как @decorator меняет поведение функции без её правки? 🔸 Декоратор решает проблему дублирования и смешения обязанностей: добавить лог, кеш, авторизацию можно отдельно от самой функции. Это упрощает поддержку и тестирование.

🔸 Декоратор оборачивает функцию через wrapper — вложенную функцию, которая получает *args/**kwargs, выполняет дополнительную логику и вызывает оригинал. Код:

def decorator(fn): def wrapper(args, **kwargs): print("call", fn.name) return fn(args, **kwargs) return wrapper

@decorator def f(x): return x*2

🔸 Когда применять: для кросс-каттинга (лог, кеш, валидация). Фишелть — декораторы можно параметризовать и сохранить метаданные с functools.wraps.

📚 Декораторы = удобный способ разделить ответственность и не править исходную функцию.

#CODERIKK #Python #Middle

➡️ Мы в Telegram - Сетке - ВК Буду рад вашей реакции здесь⬇️


В этом посте были ссылки, но мы их удалили по правилам Сетки

🔹 Декораторы Python: как и зачем
🔹 Как @decorator меняет поведение функции без её правки?
🔸 Декоратор решает проблему дублирования и смешения обязанностей: добавить лог, кеш, авторизацию можно отдельн... | Сетка — социальная сеть от hh.ru