Курс 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. Управление мышью и клавиатурой с Pyautogui
  2. Копирование объектов в Python
  3. Копирование объектов в Python
  4. Представление бесконечности в Python
  5. Многопоточность и асинхронное программирование в Python
  6. Обезопасьте ввод данных
  7. Сравнение объектов в Python
  8. Оператор += в Python
  9. Итерация по копии коллекции
  10. Создание списка дат
  11. Переменные класса и экземпляра
  12. Реализация операции -= для пользовательского класса
  13. Поиск повторов в списке
  14. Python union() функция — объединение множеств
  15. Печать списка с помощью метода join
  16. Иерархия классов в Python
  17. Структурирование данных с Pydantic
  18. Отрицательные индексы списков
  19. Извлечение аудио из видео
  20. Локальные переменные.
  21. Обновление шаблона base.html
  22. lru_cache оптимизация функций
  23. Работа с кортежами
  24. Роль object и type в Python
  25. Комплексные числа в Python
  26. Создание словаря в Python
  27. Управление ресурсами в Python
  28. Сравнение строк в Python
  29. Цикл for с enumerate() в Python
  30. Переменная Шредингера
  31. Форматирование строк в Python
  32. Удаление URL-адресов в Python
  33. Вакансии в Nebius
  34. Работа с комплексными числами
  35. Пустой оператор pass в Python
  36. Генераторы данных
  37. Функции-генераторы в Python
  38. Классы данных в Python
  39. Удаление символов новой строки в Python.
  40. Работа с индексами списков
  41. Преобразование типов данных в set comprehension
  42. Декораторы в Python
  43. Решение переменной Шредингера

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