Курс Python → Декораторы в Python

Декораторы в Python — это мощный инструмент, который позволяет изменить поведение функции, не изменяя ее исходный код. Они представляют собой функции, которые принимают другую функцию в качестве аргумента и возвращают новую функцию. При вызове функции, к которой применен декоратор, сначала выполняется код декоратора, а затем уже сама функция.

Пример использования декоратора можно увидеть в следующем коде:


def print_argument(func):
    def wrapper(*args, **kwargs):
        print(f"Аргументы функции: {args}")
        result = func(*args, **kwargs)
        return result
    return wrapper

@print_argument
def greet(name):
    return f"Привет, {name}!"

print(greet("Мир"))

В данном примере мы создаем декоратор print_argument, который выводит аргументы функции перед ее выполнением. Затем мы применяем этот декоратор к функции greet, которая принимает имя и возвращает приветствие. При вызове greet(«Мир») сначала будет выведено «Аргументы функции: (‘Мир’,)», а затем «Привет, Мир!».

Декораторы можно применять к любому количеству функций, обеспечивая повторное использование одного и того же кода для различных функций. Они широко используются во многих популярных библиотеках и фреймворках Python для добавления дополнительной функциональности без изменения исходного кода функций.

Использование декораторов позволяет сделать код более читаемым, модульным и эффективным. Они предоставляют простой способ добавления дополнительной логики к функциям, не засоряя их основной код. Поэтому освоение работы с декораторами является важным навыком для любого разработчика Python.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Удаление ресурса в Python
  2. Создание задания в Cron
  3. Очистка данных с помощью pandas
  4. Класс Counter() для подсчета элементов
  5. Многострочные комментарии в Python
  6. Применение функции к списку
  7. Функция rsplit() в Python
  8. Генераторы списков
  9. История Python
  10. Импорт модулей и пакетов в Python
  11. Создание пар из последовательностей
  12. Срез в Python
  13. Принципы программирования
  14. Подсчет частотности элементов в Python
  15. Аннотации типов в Python
  16. Проверка списка: any() и all()
  17. Операции с матрицами в Python
  18. Combobox в Tkinter
  19. Обновление шаблона base.html
  20. Работа с утверждениями в Python
  21. Метод repr() в Python
  22. Передача параметров в Python
  23. Метод __irshift__ для побитового сдвига вправо
  24. Метод append() для списка
  25. Улучшенные подсказки для импорта в Python 3.12
  26. Переопределение метода __rshift__
  27. Оформление кода по PEP 8
  28. Особенности множеств в Python
  29. Работа с типами данных в Python с помощью pydantic.
  30. Комментарии в Python.
  31. Методы работы со строками в Python
  32. Проверка кортежей.
  33. Итерации в Python
  34. Импорт модуля из другого каталога
  35. Python Enumerate
  36. Функциональное программирование в Python
  37. Работа со строками в Python
  38. Комплексные числа в Python
  39. Очистка вывода в Python
  40. Оператор «not» в Python
  41. Печать комбинаций в Python с Itertools
  42. Antigravity модуль
  43. Получение текущей даты и времени с помощью datetime
  44. Класс-оболочка для словарей
  45. Удаление ссылок в Python
  46. Класс UserDict: дополнительная функциональность
  47. Автоматизация действий с Pyautogui

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