Курс 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. Функция divmod() в Python
  3. Удаление элемента по индексу в Python
  4. Инверсия списка и строки
  5. Склеивание строк без циклов
  6. Сортировка в Python
  7. Преобразование символов в нижний регистр
  8. Автоматизация действий с Pyautogui
  9. Создание циклической ссылки
  10. Необязательные аргументы в Python
  11. Сортировка с параметром key
  12. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  13. Отправка поздравлений по дню рождения
  14. Передача параметров в Python
  15. Область видимости переменных
  16. Повторение элементов в Python
  17. PrettyTable: создание таблицы
  18. kwargs в Python
  19. Избегайте пустого списка
  20. Обработка исключений в Python
  21. Списковые включения в Python
  22. Оптимизация создания строк
  23. IPython и Jupyter Notebook: руководство
  24. Создание новых функций с помощью functools.partial
  25. Курсы Яндекс Практикум
  26. Переменная с нижним подчеркиванием
  27. Объединение словарей в Python 3.5+
  28. Проверка на истинность объектов в Python
  29. Асинхронное выполнение задач в процессах
  30. Изменение элемента списка
  31. Бинарный поиск
  32. Поиск индекса элемента
  33. Преобразование чисел в восьмеричную строку
  34. Подсказки типов в Python
  35. Создание .exe файла с pyinstaller
  36. Применение функции к каждому элементу списка
  37. Оптимизация интернирования строк
  38. Синхронизация потоков с time.sleep()
  39. Список переменных с %who
  40. Поиск файлов по шаблону
  41. Оптимизация параметров в Python
  42. Базовые объекты Python
  43. Создание коллекций из выражения-генератора
  44. Сортировка слиянием

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