Курс 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. Настройка логгера Logzero
  2. Метод enumerate() в Python
  3. Форматирование данных с помощью pprint
  4. Метод matmul для умножения матриц
  5. Использование обратной косой черты в f-строках
  6. Вызов функций по строке в Python.
  7. Объединение коллекций в Python
  8. Декораторы в Python
  9. Переворот строки с использованием цикла
  10. Функция format() в Python
  11. Оптимизация сравнения в Python
  12. Удаление falsy-значений из списка с помощью filter
  13. Магические методы в Python
  14. Генераторные выражения и islice.
  15. Переопределение оператора % для объектов
  16. Создание уникального проекта
  17. Операторы увеличения и уменьшения в Python
  18. Оператор (*) в Python
  19. Получение имени функции с помощью inspect
  20. Обработка ошибок ввода данных
  21. Измерение времени выполнения в Python
  22. Работа с Event() в threading
  23. Безопасные SQL-запросы в Python 3.11
  24. Капитализация строк
  25. Работа с байтовыми строками в Python
  26. Работа с пакетами
  27. Сохранение и загрузка модели в PyTorch
  28. Форматирование строк с f-строками
  29. Выключение компьютера с помощью Python
  30. Метод setdefault() в Python
  31. Хеширование паролей с солью
  32. inspect в Python: анализ кода
  33. Декораторы в Python
  34. Преобразование данных в Python
  35. Хеширование паролей с использованием salt
  36. Работа с файловой системой в Python
  37. Удаление файлов и папок в Python
  38. Работа с эмодзи в Python
  39. Обязательные аргументы в Python
  40. Комментарии в Python
  41. Методы работы со списками
  42. Основы работы со списками
  43. Python: возвращение нескольких значений
  44. Основы слова
  45. Форматирование строк в Python
  46. Работа с индексами списков

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