Курс 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. Сортировка с параметром key
  3. Особенности запятых в Python
  4. Логирование в Python
  5. Python Enum Weekday Usage
  6. Counter() — подсчет элементов
  7. Метод count в Python: почему count(», ») возвращает 4?
  8. Создание итератора
  9. Обработка исключений с блоком else
  10. Определение функций с необязательными аргументами
  11. Создание новых списков в Python
  12. Настройка логгера Logzero
  13. Игра «Виселица» на Python
  14. Удаление дубликатов из списка с помощью dict.fromkeys
  15. EMOT преобразование эмодзи в текст
  16. Функция reduce() из модуля functools
  17. Сериализация и десериализация объектов
  18. Импорт модулей в Python 3.12
  19. Функции в Python
  20. Сравнение def и lambda в Python
  21. Работа с множествами в Python
  22. Непрерывная проверка в Python
  23. Манипуляция формой массива в Numpy
  24. Метод join() с набором
  25. Функция pow() — возвести число в степень
  26. Гибкие функции Python
  27. Экранирование символов в Python
  28. Проверка дубликатов в Python
  29. Работа с контекстными менеджерами
  30. Различия символов в Python
  31. Аннотации типов в Python
  32. Enum в Python
  33. Namedtuple в Python
  34. Обработка исключений в Python
  35. Проверка класса объекта
  36. Изучение объектов с помощью dir()
  37. Функция reversed() в Python
  38. Создание .exe файла с pyinstaller
  39. Настройка нарезки списков
  40. Цикл for с enumerate() в Python
  41. Импорт модуля из другого каталога
  42. Форматирование строк в Python
  43. Псевдонимы в Python
  44. Использование html-скриптов в Jupyter Notebook

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