Курс 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. Сортировка с помощью key
  2. GitHub в Telegram: подписка на уведомления
  3. Работа с файловой системой в Python
  4. Сумма элементов списка
  5. Работа с deque из collections
  6. Создание новых функций через partial
  7. Атрибуты массивов в Numpy
  8. Управление доступом к модулю
  9. Блок try-except-else
  10. Сортировка с помощью параметра key
  11. Строки в Python: апострофы и кавычки
  12. Измерение времени выполнения кода
  13. Декоратор защиты анонимных пользователей
  14. Функция zip() — объединение последовательностей
  15. UserList в Python: Описание и примеры использования
  16. Удаление элементов из списка в Python
  17. Декораторы в Python
  18. Освобождение памяти в Python
  19. Измерение времени выполнения в Python
  20. Изменение регистра данных
  21. Настройка Cron
  22. Метод ne для сравнения объектов
  23. Работа с JSON в Python
  24. Отправка HTTP-запросов в Python
  25. Обновление данных через PUT запрос
  26. Получение значений из словарей
  27. Игра «Угадывание чисел»
  28. Проверка типа объекта в Python
  29. Поиск простых чисел
  30. Вычисление разности множеств в Python
  31. Сериализация и десериализация объектов
  32. Установка random seed в Python
  33. Показ всплывающих окон Tkinter
  34. Генераторы данных
  35. Методы split() и join() — Python строк.
  36. Работа с контекстными переменными
  37. Форматирование объектов с модулем pprint
  38. Преобразование строк в числа с плавающей запятой
  39. Перезагрузка оператора в Python
  40. Создание новых списков в Python
  41. Объединение словарей в Python
  42. Модуль pprint
  43. Путь к интерпретатору Python
  44. Добавление элементов в список
  45. Принципы программирования

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