Курс 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. Поиск элементов BeautifulSoup
  2. Разрешение имен в Python
  3. Преобразование в float
  4. Проверка запуска скрипта или импорта модуля
  5. Импорт с альтернативным именем
  6. Установка random seed в Python
  7. Сортировка в Python
  8. Разделение строк в Python
  9. Список импортированных модулей в Python
  10. Названия переменных
  11. Многострочные строки в Python
  12. Комплексные числа в Python
  13. Генерация случайных данных в NumPy
  14. Путь к интерпретатору Python
  15. Проверка существования переменной с оператором :=
  16. Обработка элементов в Python
  17. Группировка элементов Python
  18. Работа с прокси в Python
  19. Роль ключевого слова self
  20. Многопроцессорное программирование в Python
  21. Ошибка NotImplemented в Python
  22. Логические значения в Python
  23. Логирование с Loguru
  24. Функция reduce() из модуля functools
  25. Руководство по использованию Colorama
  26. Инверсия списка и строки в Python
  27. Работа с CSV файлами в Python
  28. Виртуальные среды в Python
  29. Объединение итераторов
  30. Тип CodeType в Python.
  31. Метод enumerate() в Python
  32. Создание списков в Python
  33. Модуль functools в Python
  34. Сравнение неупорядоченных списков
  35. Работа со словарями с defaultdict из collections
  36. Описание скриптов в README
  37. Работа с файлами в Python
  38. Проекты на Python
  39. Извлечение аудио из видео
  40. Подсчет элементов с помощью Counter из collections
  41. Копирование объектов в Python
  42. Комментарии в Python.
  43. Измерение времени выполнения кода
  44. Пустой оператор pass в Python
  45. Создание генераторов в Python
  46. Счетчик ссылок в Python

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