Курс 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. Обработка исключений в Python
  3. Область видимости переменных
  4. Операции с матрицами в Python
  5. Форматирование строк с помощью f-строк
  6. Преобразование регистра строк
  7. Работа с временем в Python
  8. Работа с collections.Counter
  9. Метод remove() для удаления элемента из списка
  10. Управление фоновыми задачами в Python
  11. Конвертация коллекций в Python
  12. Присвоение значений переменным в Python
  13. Многострочные комментарии в Python
  14. Тип данных TypeVarTuple
  15. Поиск наиболее частого элемента в списке
  16. Хэш-функции в Python
  17. Копирование в Python
  18. Разработка игры Pong с turtle
  19. Добавление кнопки в tkinter
  20. Преобразование вложенного списка
  21. Копирование файлов с shutil()
  22. Преобразование в float
  23. Имена объектов в Python
  24. Упрощенный вывод данных в Python
  25. Numpy: объединение массивов
  26. F-строки в Python 3.8
  27. Генераторы в Python
  28. Проверка файла .py на синтаксис.
  29. Регулярные выражения в Python
  30. Поиск уникальных элементов строкой в Python
  31. Сложные типы данных в Python
  32. Преобразование букв в нижний регистр
  33. Mad Libs Generator
  34. Использование обратной косой черты в f-строках
  35. Concrete Paths — метод .with_suffix()
  36. Профилирование данных с Pandas
  37. Создание словарей в Python
  38. Сохранение Unicode в JSON
  39. Генераторы в Python
  40. Обработка исключения UnboundLocalError
  41. Библиотека Rich: форматирование текста
  42. Декоратор total_ordering для сравнения объектов
  43. Отделение звука от видео

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