Курс 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. Удаление дубликатов в pandas
  4. Вложенные генераторы в Python
  5. Разделение строк методом split()
  6. Принцип одной функции
  7. Изменения в обработке логических значений
  8. Управление контекстом выполнения кода
  9. Тип CodeType в Python.
  10. Эффективная конкатенация строк в Python
  11. Параллельные вычисления в Python
  12. Проверка кортежей.
  13. Ошибка NotImplemented в Python
  14. Функциональное программирование.
  15. Обработка исключений в Python 3
  16. Структурирование данных с Pydantic
  17. Работа с множествами в Python
  18. Хранение данных с помощью dataclasses
  19. Настройка нарезки списков
  20. Многопоточность в Python
  21. Метод get для словаря
  22. Хранение переменных в Python.
  23. Создание новых списков через list comprehensions
  24. Комментарии в Python.
  25. Поиск простых чисел
  26. Библиотека Chartify: руководство
  27. Профилирование кода
  28. Pillow: работа с изображениями
  29. Функция zip() в Python
  30. Объединение Python и Shell
  31. UserString в Python
  32. Замена текста с re.sub()
  33. Ключевое слово global в Python
  34. Создание копии итератора
  35. Метод index() в Python
  36. Измерение времени выполнения кода
  37. Создание OrderedDict
  38. Ввод нескольких значений
  39. Скачать видео с YouTube
  40. Обновление данных через PUT запрос
  41. Вывод сложных структур данных с помощью pprint
  42. Сортировка с параметром key
  43. Преобразование типов данных в set comprehension
  44. Путь к интерпретатору Python
  45. Применение функции map() с лямбда-функциями
  46. Транспонирование 2D-массива с помощью zip
  47. Подписка на SelectelNews в Twitter

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