Курс 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. Работа с JSON данными в Python
  2. Работа с модулем cmath
  3. Закрытие файла в Python
  4. Область видимости переменных
  5. Очистка данных с Pandas
  6. Класс UserDict: дополнительная функциональность
  7. Выключение компьютера с помощью Python
  8. Ветвление выражения в Python
  9. Переменные класса и экземпляра
  10. Нахождение самого длинного слова в списке с помощью max
  11. Создание директории в Python
  12. Управление пакетами с pip
  13. Округление дробей в Python
  14. Сложные типы данных в Python
  15. Создание новых списков через list comprehensions
  16. Оптимизация памяти в Python
  17. Руководство по использованию Colorama
  18. 9 уловок для чистого кода
  19. Управление User-Agent в Python
  20. Переворот списка в Python
  21. Модуль future Python
  22. TypedDict для kwargs в Python 3.12
  23. Функции в Python: создание и вызов
  24. Разделение строки с регулярными выражениями
  25. discard() — удаление элемента из множества
  26. Слияние словарей в Python 3.9
  27. Преобразование в float
  28. Итераторы в Python
  29. Перемешивание списка с shuffle()
  30. Форматирование строк с f-строками
  31. Создание списков в Python
  32. Функция zip() в Python
  33. Управление браузером с Selenium
  34. Установка random seed в Python
  35. Использование defaultdict в Python
  36. Основы работы со списками
  37. Каналы Senior: Python, Java, Frontend, SQL, C++
  38. Создание генераторов в Python
  39. Руководство по библиотеке pydantic
  40. Преобразование числа в восьмеричную строку

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