Привет! Сегодня поговорим о декораторах — мощном инструменте Python, который позволяет изменять поведение функций без изменения их кода.
Если ты видел @staticmethod, @classmethod или @app.route() во Flask, то это как раз декораторы! 1. Что такое декораторы?
Декоратор — это функция, которая оборачивает другую функцию, добавляя ей новую логику. Простой пример 2. Декораторы с аргументами
Допустим, мы хотим логировать аргументы и результат функции.
Декоратор теперь перехватывает аргументы и результат.
3. Декораторы с параметрами
Что если мы хотим передавать настройки в декоратор? Теперь мы можем управлять поведением через параметры! 4. Декораторы для контроля доступа
Допустим, у нас есть функция, доступная только админу. Теперь нельзя вызвать функцию без прав. 5. Классы-декораторы
Декоратор можно реализовать через класс. Класс Timer запоминает функцию и вызывает её через __call__(). 6. Практическое применение | Задача | Декоратор |
|--------|------------|
| Ло