Курс 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. Операции с кортежами
  2. Импорт объектов из модулей
  3. Ускорение кода с помощью векторизации
  4. Разделение функций на этапы
  5. Создание функций с произвольным количеством аргументов
  6. Работа с GitHub в Telegram
  7. Извлечение аудио из видео
  8. Реализация метода __abs__ в Python
  9. Получение размера объекта с sys.getsizeof()
  10. Разработка Telegram-ботов
  11. Итерация по коллекции в Python
  12. Разделение строк в Python
  13. Применение функции к элементам списка
  14. Namedtuple в Python
  15. Участие в LP стейкинге Waves
  16. Python groupby() из itertools: работа с повторяющимися элементами
  17. Генерация тестовых данных с factory_boy
  18. Функция enumerate() в Python
  19. Бесконечная проверка в Python
  20. Библиотека sh: удобные команды терминала
  21. Операции с комплексными числами
  22. Подсчет элементов в списке с Counter
  23. Перемещение и удаление файлов в Python
  24. Работа с множествами в Python
  25. Удаление дубликатов из списка с помощью dict.fromkeys
  26. Модуль array: создание и использование массивов
  27. Удаление специальных символов
  28. Управление сессиями в Python
  29. Разделение строки на пары ключ-значение.
  30. Принципы программирования
  31. Dict Comprehension в Python
  32. Переопределение метода len
  33. Beautiful Soup — извлечение данных из HTML
  34. Проблемы с именами переменных
  35. Работа со словарями Python
  36. Введение в Python
  37. Использование super() в Python
  38. Лямбда-функции в цикле
  39. Основы работы со строками в Python
  40. Запуск внешнего кода в Jupyter
  41. Декораторы в Python
  42. Работа с JSON в Python
  43. Методы и функции в Python
  44. Управление ресурсами с контекстными менеджерами
  45. Логический оператор «and» в Python
  46. Обмен значений переменных в Python

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