Курс 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. Парсинг веб-страниц с Beautiful Soup
  2. Логический оператор «and» в Python
  3. Наследование в программировании
  4. Numpy: разбиение массивов
  5. Обход словаря в Python
  6. Создание Radio кнопок в tkinter
  7. Делегирование в Python
  8. Функция pow() — возвести число в степень
  9. Создание GUI на Tkinter
  10. Преобразование многоуровневого словаря
  11. Поиск наиболее частого элемента списке
  12. Перевернуть список в Python
  13. Метод join() для объединения элементов строки
  14. Строки в Python: апострофы и кавычки
  15. Сравнение def и lambda функций в Python
  16. Проверка типа объекта в Python
  17. Анализ текста на русском языке с помощью Pymystem3
  18. Работа с модулем glob в Python
  19. Применение команды break
  20. Изменяемые и неизменяемые объекты
  21. Проверка ввода с помощью isdigit
  22. Циклы в Python
  23. Метод setdefault() в Python
  24. Работа со словарями с defaultdict из collections
  25. Python Метод Union Множеств
  26. Тип данных TypeVarTuple
  27. Раздувающийся словарь в Python
  28. Функциональное программирование в Python
  29. Метод enumerate() в Python
  30. Избегание изменяемых аргументов
  31. Ускорение кода с помощью векторизации
  32. Назначение максимального и минимального значения переменной в Python.
  33. Частичное совпадение ввода
  34. Создание списка дат
  35. Особенности ключей словаря в Python
  36. Комментарии в Python
  37. Поиск индекса элемента
  38. Получение текущей директории
  39. Метод join() с набором
  40. Проверка класса объекта
  41. Сумма элементов списка
  42. Исключение NotImplementedError
  43. Создание комплексных чисел
  44. Преобразование символов в нижний регистр
  45. Условные выражения в Python

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