Курс 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. Управление сессиями в Python
  4. Обработка исключения UnboundLocalError
  5. Возврат нескольких значений из функции
  6. Приближение чисел в Python
  7. Функция __init__ в Python
  8. Оператор == в Python
  9. Обход элементов в Python
  10. Использование функции product
  11. Поиск частых элементов в списке
  12. Функция enumerate() — Python
  13. Работа с f-строками 2.0
  14. Использование html-скриптов в Jupyter Notebook
  15. Декораторы в Python
  16. Работа с библиотекой requests
  17. Проверка условий: all и any
  18. Автоматизация действий с Pyautogui
  19. Операции с массивами в NumPy
  20. Запрос пароля с помощью getpass
  21. Преобразование строк в числа в Python
  22. Логический оператор «and» в Python
  23. Константы в модуле cmath
  24. Работа с контекстными менеджерами
  25. Обратный список чисел
  26. Область видимости переменных в Python
  27. Извлечение чисел из текста
  28. Метод join() для объединения строк
  29. Работа с YAML в Python
  30. Метод join() для объединения элементов строки
  31. Настройка шрифта и цвета в Tkinter
  32. Область видимости переменных
  33. Генераторы и сеты в Python
  34. Отображение HTML кода в Python
  35. Инверсия списка и строки
  36. Методы __repr__ и __str__ в Python
  37. Список и кортеж в Python
  38. Библиотека wikipedia для Python
  39. Преобразование многоуровневого словаря
  40. Работа с Enum в Python3.
  41. Установка и использование TensorFlow
  42. Переопределение метода divmod
  43. Метод Event.wait() в Python
  44. Обработка исключений в Python

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