Курс 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 с pandas
  2. Извлечение аудио из видео
  3. Синхронизация потоков с time.sleep()
  4. Генерация QR-кодов с Python
  5. Создание итератора
  6. Реализация метода __abs__ в Python
  7. Lambda Functions in Python
  8. Лямбда-функции для min/max
  9. Копирование объектов в Python
  10. Проверка версии Python
  11. Именованные срезы в Python
  12. Выражения-генераторы в Python
  13. Основные операции с Numpy
  14. ChainMap.new_child() — добавление нового словаря
  15. Управление памятью в numpy.
  16. Метод enumerate() в Python
  17. Синхронизация доступа к ресурсам
  18. Необязательные аргументы в Python
  19. Таймер обратного отсчета
  20. Метод __call__ в Python
  21. Введение в Python
  22. Добавление кнопки в tkinter
  23. Поиск шаблона в строке
  24. Поиск подстроки в строке
  25. Объединение коллекций в Python
  26. Потоковый ввод в Python
  27. Тестирование функции сложения
  28. JSON-esque в Python
  29. Обработка исключений в Python
  30. Оформление кода по PEP 8
  31. Поиск всех индексов подстроки
  32. Работа с модулем bisect
  33. Метод join() для объединения элементов строки
  34. Библиотека Rich: форматирование текста
  35. Операции со строками в Python
  36. Удаление элементов из списка
  37. Поиск индексов в списке
  38. Операторы сравнения в Python
  39. Возврат нескольких значений
  40. Создание Radio кнопок в tkinter
  41. Генерация случайных чисел в Python
  42. Работа с YAML в Python
  43. Создание OrderedDict

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