Курс 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. List Comprehension Tutorial
  2. Списковый компрехеншен.
  3. Подсказки типов в Python
  4. Построение графиков в терминале с bashplotlib
  5. Создание и обучение модели с Keras
  6. Считывание бинарного файла в Python
  7. Работа со строками в Python
  8. Оптимизация параметров в Python
  9. Возведение в квадрат с помощью itertools
  10. Умножение строк и списков
  11. Обучение модели с указанием эпох
  12. Инверсия списка и строки в Python
  13. Классы данных в Python
  14. Создание новых списков
  15. Компиляция регулярных выражений
  16. Распаковка значений в Python
  17. Асинхронное программирование с asyncio
  18. Использование функции enumerate()
  19. Непрерывная проверка в Python
  20. Регулярные выражения в Python
  21. Python enumerate() использование
  22. Деление в Python
  23. Область видимости переменных
  24. Конкатенация строковых литералов
  25. Инвертирование словаря
  26. Работа с итераторами через срезы
  27. Создание коллекций из генератора
  28. Создание списков в Python
  29. Отображение HTML кода в Python
  30. Работа с Colorama
  31. Работа с URL-адресами в Python
  32. Комментарии в Python
  33. Методы shutil для работы с файлами
  34. Howdoi — получение ответов из терминала
  35. Получение имени функции с помощью inspect
  36. Печать месячного календаря
  37. Именованные срезы в Python
  38. Измерение времени выполнения кода
  39. Генерация ключей RSA
  40. Python defaultdict добавление ключа
  41. Удаление файлов с shutil.os.remove()
  42. Вывод символов строки в Python

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