Курс 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. Установка переменной среды в Python
  2. Определение объема памяти объекта
  3. Нахождение отличий в списках
  4. Структуры данных в Python
  5. Логирование с Logzero
  6. Счетчик ссылок в Python
  7. Переменные в Python
  8. Функции all и any в Python
  9. Вычисление натурального логарифма в NumPy
  10. Работа с итераторами в Python
  11. Работа с URL-адресами в Python
  12. Определение размера папок в Python
  13. Метод split() для разделения строк
  14. Избегайте ошибку FileNotFoundError
  15. Инвертирование словаря
  16. Функции в Python
  17. Метод rsub в Python: расширение функциональности вычитания
  18. Функция enumerate в Python
  19. Создание списков в Python
  20. Импорт с альтернативным именем
  21. Создание новых функций через partial
  22. Создание и использование модулей в Python
  23. Создание GUI с Tkinter: Entry
  24. Функции с дополнением
  25. Работа с пакетами
  26. Работа со временем в Python
  27. Многострочные комментарии в Python
  28. Метод ior для битовых операций
  29. Создание списка через цикл
  30. Метод join для объединения строк
  31. Создание новых списков через list comprehensions
  32. Обработка исключений в Python
  33. Модуль math: основные функции
  34. Поиск наиболее частого элемента списке
  35. Объединение словарей в Python
  36. Фильтрация данных в Python.
  37. Работа с коллекциями Python
  38. Изменение регистра данных
  39. Оператор in для Python
  40. Использование метода lower()
  41. Проверка типов с помощью isinstance
  42. Лямбда-функции в Python
  43. Строковое представление объектов
  44. Управление User-Agent в Python
  45. Конструктор в Python
  46. SciPy: широкий функционал для математических операций

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