Курс 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-esque в Python
  2. Логирование с Logzero
  3. Сортировка элементов с OrderedDict
  4. Поиск с библиотекой Google
  5. Проверка типов с помощью isinstance
  6. Очистка вывода в Python
  7. Метод invert для побитового отрицания
  8. Очистка данных в Python
  9. Python Метод Union Множеств
  10. Встроенные функции Python
  11. Тестирование времени с Freezegun
  12. Beautiful Soup — извлечение данных из HTML
  13. Запуск файлового сервера
  14. Метод join() для объединения строк
  15. Работа с датой и временем в Python
  16. Работа со строками в Python
  17. Форматирование даты с strftime()
  18. Глобальные переменные в Python
  19. Установка и использование pyshorteners
  20. Преобразование Excel в PDF с Spire.XLS
  21. Работа с YAML в Python
  22. Умножение строк и списков
  23. Функции all() и any() в Python
  24. Работа с CSV в Python
  25. Работа с рекламными данными в Pandas
  26. Установка random seed в Python
  27. Поиск частых элементов в списке
  28. Оператор == в Python
  29. Генераторы списков
  30. Обработка данных в Python
  31. Обновление шаблона base.html
  32. Удаление элемента по индексу
  33. Работа со строками
  34. Генерация чисел с range()
  35. Удаление специальных символов
  36. Работа с collections в Python.
  37. Сортировка с параметром key
  38. Метод splitlines() для разделения строк
  39. Запрос пароля с помощью getpass
  40. Создание словарей с defaultdict()
  41. Метод radd для пользовательских чисел
  42. Python: изменяемые и неизменяемые коллекции
  43. Получение атрибутов и методов класса
  44. Манипуляция формой массива в Numpy

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