Курс 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. CSV строка разделение в Python
  3. Работа с Enum в Python3.
  4. Python Enum Weekday Usage
  5. Векторизация в Python с NumPy.
  6. Перевод эмодзи и эмотиконов.
  7. Работа с itertools
  8. Поиск подстроки в строке
  9. Библиотека schedule: планировщик задач
  10. Применение функции к списку
  11. Метод lt для сортировки объектов
  12. JMESPath в Python
  13. Определение имен функций
  14. Генераторы в Python
  15. Проверка элемента в множестве.
  16. Создание матрицы в Python
  17. Принцип одной функции
  18. Условные выражения в Python
  19. Синхронизация доступа к ресурсам
  20. Оформление текста в консоли с TermColor
  21. Разница между датами
  22. Создание копии итератора
  23. Функции all() и any() в Python
  24. Логирование с Loguru
  25. Объединение списков в строку
  26. Работа с WindowsPath()
  27. История Python
  28. Работа с временем в Python
  29. Функция enumerate() в Python
  30. Выбор редактора кода.
  31. Создание итератора
  32. Переопределение метода divmod
  33. Замена подстроки
  34. UserList в Python: Описание и примеры использования
  35. Сортировка в Python
  36. Управление асинхронными задачами на Python.
  37. Работа с атрибутом dict
  38. Добавление Progressbar в Python
  39. Оператор in для проверки наличия элемента
  40. Обработка исключений с блоком else
  41. Создание детектора плагиата
  42. Поиск элементов BeautifulSoup
  43. Визуализация пропусков данных
  44. Участие в LP стейкинге Waves
  45. Модуль pprint: улучшение вывода данных

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