Курс 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. globals и locals
  2. Удаление ключа из словаря
  3. Создание GUI с Tkinter: Entry
  4. Наиболее частотные элементы с помощью Counter
  5. Оператор in для Python
  6. Метод radd для пользовательских чисел
  7. Векторизация в Python с NumPy.
  8. Форматирование строк в Python
  9. Деление в Python
  10. Оператор assert в Python
  11. Преобразование типов данных в set comprehension
  12. Оператор «and» в Python
  13. Работа с индексами списков
  14. Автоматизация скриптов на AWS Lightsail.
  15. Разделение списка на гнппы
  16. Функция zip() в Python
  17. Работа с NumPy
  18. Модуль inspect: получение информации о объектах
  19. Функции min(), max(), sum()
  20. Измерение времени выполнения кода
  21. Декоратор Ajax required
  22. Логирование в Python
  23. Enum в Python
  24. Функции-генераторы в Python
  25. Оператор «is not» в Python
  26. Декоратор @override
  27. Ускорение выполнения кода в Python
  28. Проблемы с именами переменных
  29. Метод join() для объединения строк
  30. Генерация QR-кодов с Python
  31. Работа с zip-архивами в Python
  32. Лямбда-функции в Python
  33. Lambda-функция в Python: использование с map() и sum()
  34. Разница между датами
  35. Именование переменных в Python
  36. Обработка ошибки IndexError
  37. Измерение времени выполнения с помощью time
  38. Работа со словарями Python
  39. Встраивание HTML в Jupyter Notebook
  40. Модуль functools в Python
  41. Преобразование списка в словарь через генератор
  42. Управление контекстом с помощью декоратора contextmanager
  43. Функция format() в Python
  44. Логический оператор «and» в Python
  45. Конвертация коллекций в Python.
  46. Получение значений из словарей
  47. Python groupby() из itertools: работа с повторяющимися элементами

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