Курс 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. Progress с библиотекой tqdm
  4. Определение имен функций
  5. Многострочные строки в Python
  6. Отношения подклассов в Python
  7. Многопоточность и асинхронное программирование в Python
  8. Python: библиотеки и функции
  9. Получение атрибутов и методов класса
  10. Управление доступом к модулю
  11. Python Метод Union Множеств
  12. Получение обратного списка чисел
  13. Метод rsub в Python: расширение функциональности вычитания
  14. Вывод переменной и строки в Python
  15. Поиск наиболее частого элемента списке
  16. Создание новых списков через list comprehensions
  17. Создание пар из последовательностей
  18. Работа со случайными элементами
  19. Работа с библиотекой requests
  20. Оператор «and» в Python
  21. Атрибуты класса и экземпляра в Python
  22. Список переменных с %who
  23. Метод сравнения объектов в Python
  24. Вывод букв строки в Python
  25. Функция zip() — объединение последовательностей
  26. Поиск подстроки в строке
  27. Функция с *args.
  28. Удаление дубликатов из списка с помощью dict.fromkeys
  29. Операторы увеличения и уменьшения в Python
  30. Сравнение def и lambda в Python
  31. Декораторы в Python
  32. Работа со строками
  33. Создание и удаление объектов
  34. Оператор is в Python
  35. Оформление текста в консоли с TermColor
  36. Оптимизация создания строк
  37. Библиотека Emoji: использование смайлов в Python
  38. Настройка шрифта и цвета в Tkinter
  39. Расчет времени выполнения кода
  40. Декоратор Ajax required
  41. Мониторинг памяти с Pympler
  42. Область видимости переменных в Python
  43. Метаклассы в Python
  44. Многострочные комментарии в Python
  45. Преобразование вложенного списка
  46. Хеширование паролей с солью

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