Курс Python → Декораторы в Python

Декораторы в Python — это мощный инструмент, который позволяет изменять поведение функций или методов без изменения их собственного кода. Прежде всего, декораторы позволяют нам повторно использовать код, делая его более читаемым и модульным. При этом они позволяют добавлять функциональность к существующим функциям, не изменяя их исходный код.

Для создания декоратора в Python используется символ @, за которым следует имя декоратора. Декоратор — это функция, которая принимает другую функцию в качестве аргумента и возвращает новую функцию. Эта новая функция обычно содержит дополнительный код, который выполняется до или после вызова исходной функции.


def my_decorator(func):
    def wrapper():
        print("Дополнительный код перед вызовом функции")
        func()
        print("Дополнительный код после вызова функции")
    return wrapper

@my_decorator
def say_hello():
    print("Привет, мир!")

В приведенном выше примере функция say_hello() декорируется функцией my_decorator(). При вызове функции say_hello() будет сначала выполнен дополнительный код из декоратора, затем сама функция say_hello() и, наконец, еще один блок кода из декоратора. Таким образом, мы можем легко изменять и расширять функциональность наших функций.

Использование декораторов в Python позволяет сделать код более гибким и удобным для поддержки. Они позволяют разделить логику программы на отдельные блоки, что упрощает чтение и понимание кода. Благодаря декораторам мы можем добавлять новые функции и возможности без необходимости изменения исходного кода, что делает нашу программу более масштабируемой и гибкой.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Таймер обратного отсчета
  2. Модуль inspect: получение информации о объектах
  3. Генерация фальшивых данных с Faker
  4. Работа с комплексными числами
  5. Удаление элемента из списка
  6. Генераторы списков в Python
  7. Сравнение объектов в Python
  8. Применение команды break
  9. Подписка на Kaspersky Team
  10. Генераторы в Python
  11. Срезы в Python
  12. Пустой оператор pass в Python
  13. Поиск частых элементов в списке
  14. Codecademy в Telegram
  15. Переменные в Python: сокращение гласных
  16. Деление в Python
  17. Функции в одну строку
  18. Принципы Zen Python
  19. Инициализация объекта
  20. Метод ipow для возведения в степень
  21. Порядок операций в Python
  22. Методы HTTP запросов в Flask
  23. Разрешение имен в Python
  24. Преобразование Excel в PDF с Spire.XLS
  25. Именованные аргументы в Python
  26. Проверка подстроки в строке с помощью in
  27. Перезапуск ячейки в Jupyter Notebook с dostoevsky
  28. Объединение объектов в Python
  29. Работа с контекстным менеджером Pool
  30. Логирование в Python
  31. Проверка типа объекта в Python
  32. Методы shutil для работы с файлами
  33. Абстракции словарей и множеств в Python
  34. Итерации в Python
  35. Реализация метода __abs__ в Python
  36. Метод ior для битовых операций
  37. Функция format() в Python
  38. Разделение строки на пары ключ-значение.
  39. Создание Telegram-бота на Python
  40. Преобразование списка в словарь через генератор
  41. Создание директории в Python
  42. Генераторы в Python
  43. Использование type hints
  44. Вызов функций по строке в Python.
  45. Перегрузка операторов в Python
  46. Управление асинхронными задачами с помощью Semaphore
  47. Безопасные SQL-запросы в Python 3.11
  48. Расчет времени выполнения

Marketello читают маркетологи из крутых компаний