Курс 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. Разделение строк методом split()
  3. Утечки переменных цикла в Python 3.x
  4. Сортировка в Python
  5. Преобразование данных в Python
  6. Потоковый ввод в Python
  7. Объединение итераторов
  8. Оценка выражений генератора в Python
  9. Работа с YAML в Python
  10. Работа со словарями в Python
  11. Удаление дубликатов из списка с помощью dict.fromkeys
  12. Просмотр атрибутов и методов класса
  13. Поиск шаблона в начале строки
  14. Удаление элементов по срезу
  15. Освоение Python
  16. Работа с JSON в Python
  17. Создание и использование ChainMap
  18. Преобразование чисел в восьмеричную строку
  19. Анализ текста на русском языке с помощью Pymystem3
  20. Путь к интерпретатору Python
  21. Создание OrderedDict
  22. Enum в Python: создание и использование перечислений
  23. Запуск внешнего кода в Jupyter
  24. Работа с временем в Python
  25. Python union() функция — объединение множеств
  26. Доступ к локальным переменным
  27. Уникальные значения из списка
  28. Работа с библиотекой requests
  29. Создание графиков в терминале
  30. Проверка типов с использованием isinstance
  31. Основы слова
  32. Объединение словарей в Python 3.5+
  33. Вывод с переменной через запятую
  34. Множественное назначение в Python
  35. Работа с парами ключ-значение
  36. Метод join() для объединения элементов строки
  37. Создание словаря через dict comprehension
  38. Создание генераторов
  39. Определение объема памяти объекта
  40. Списковый компрехеншен.
  41. Создание функций с произвольным количеством аргументов
  42. Протокол управления контекстом
  43. Переопределение унарных операторов
  44. Преобразование типов данных в set comprehension
  45. Функции all() и any() в Python

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