Курс 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. Установка и использование Telegram API в Python
  2. Работа с GitHub в Telegram
  3. Оператор «not» в Python
  4. Просмотр атрибутов и методов класса
  5. Конкатенация строк в Python
  6. Оператор * в Python
  7. Лямбда-функции в Python
  8. Статическая типизация в Python
  9. Делегирование в Python
  10. UserList в Python: Описание и примеры использования
  11. Курс по дообучению ChatGPT
  12. Создание матрицы в Python
  13. Глобальные переменные в Python
  14. Переменная Шредингера
  15. Названия столбцов в Python таблицах
  16. Улучшенные подсказки для импорта в Python 3.12
  17. Обход элементов в Python
  18. Декоратор для группы пользователей в Django
  19. Преобразование генераторов в циклы
  20. Создание namedtuple из словаря
  21. Срез в Python
  22. Оператор is в Python
  23. Переворот строки с использованием цикла
  24. Конвертация коллекций в Python.
  25. Генератор списка в Python
  26. Форматирование данных с помощью pprint
  27. Итерация по копии коллекции
  28. Иерархия классов в Python
  29. Объединение списков с использованием itertools.chain
  30. Работа с enumerate()
  31. Переопределение метода xor в Python
  32. Метод rxor для операции побитового исключающего «или»
  33. Функция zip() в Python
  34. Основы слова
  35. Безопасные SQL-запросы в Python 3.11
  36. Атрибуты класса и экземпляра
  37. Преобразование текста в речь с Python
  38. Создание тестовых данных с Faker
  39. Расчет времени выполнения программы
  40. Декораторы в Python
  41. Измерение времени выполнения кода
  42. Эффективная конкатенация строк с использованием join()
  43. Создание списка дат
  44. Работа с словарями в Python

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