Курс 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. Сравнение строк в Python
  3. Оператор Walrus в Python 3.8
  4. Установка и использование pyshorteners
  5. Работа с модулем glob в Python
  6. Вызов функций по строке в Python.
  7. Взаимодействие с sys
  8. Класс UserDict: дополнительная функциональность
  9. Очистка данных в Python
  10. Вычисление времени выполнения
  11. Сглаживание списка
  12. Обработка исключений в Python
  13. Замер времени выполнения кода
  14. Метод rmatmul для пользовательских матриц
  15. Генераторы в Python
  16. Капитализация строк
  17. Метод hash в Python
  18. Ограничение итераций в Python
  19. Подсчет количества элементов в списке
  20. Генераторы в Python
  21. Печать месячного календаря
  22. Выражения-генераторы в Python
  23. Создание вложенного генератора
  24. Работа со строками в Python.
  25. Работа с эмодзи в Python
  26. Тип CodeType в Python.
  27. Переопределение метода len
  28. Скачать видео с YouTube
  29. Переопределение метода sub
  30. Асинхронный код в Python
  31. Обязательные аргументы в Python
  32. Синтаксис переменных цикла в Python
  33. Автоматизация с Python
  34. Обход элементов в Python
  35. Список переменных с %who
  36. Генераторы списков в Python
  37. Python Аргументы по умолчанию
  38. Генераторы в Python
  39. Оператор обр. импликации
  40. Оптимизация создания строк
  41. Извлечение новостей с newspaper3k
  42. Удаление файлов с shutil.os.remove()
  43. Цикл for в Python
  44. Метод setdefault() в Python
  45. Измерение времени выполнения кода
  46. Метод join() для объединения элементов строки
  47. Замена элементов в списке с помощью генераторов списков

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