Курс 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. Ограничение ресурсов в Python
  4. Исправление ошибки NameError
  5. Функция enumerate() в Python
  6. Метод classmethod
  7. Профилирование данных с Pandas
  8. Обработка исключений в Python
  9. Декоратор защиты анонимных пользователей
  10. Списки в Python: синтаксис представления
  11. Оператор == в Python
  12. Замена текста с re.sub()
  13. Работа с контекстными менеджерами
  14. Python enumerate() для работы с индексами
  15. Установка и использование Python-dateutil
  16. Очистка вывода в Python
  17. Управление сессиями в Python
  18. Оператор is в Python
  19. Введение в Python
  20. Обработка элементов в Python
  21. Конкатенация строк с join() в Python
  22. Возврат нескольких значений из функции
  23. Работа с collections в Python.
  24. Метод count() для списков
  25. Списковые включения в Python
  26. Сравнение строк в Python
  27. Объединение списков в Python
  28. JSON-esque в Python
  29. Обновление множества в Python
  30. Генераторные функции в Python
  31. Преобразование в float
  32. Создание новых функций с помощью functools.partial
  33. Работа со временем в Python
  34. Группировка элементов Python
  35. Транспонирование матрицы
  36. Операции с матрицами в Python
  37. Многоточие в Python
  38. Декораторы в Python
  39. Применение команды break
  40. Декоратор total_ordering для сравнения объектов
  41. Big O оптимизация
  42. Функция print() — вывод информации
  43. Поиск индексов подстроки
  44. Нахождение максимального значения и его индекса в списке
  45. Переопределение метода divmod

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