Курс Python → Декораторы с аргументами

Декораторы в Python — это функции, которые позволяют изменить поведение другой функции без изменения ее кода. Создание декоратора с аргументами позволяет передавать дополнительные параметры в декоратор для более гибкой настройки. Для этого необходимо определить функцию-декоратор, которая принимает аргументы, и затем внутри нее определить еще одну функцию, которая будет выполнять основную логику декоратора.

Пример создания декоратора с аргументами:


def my_decorator(arg1, arg2):
    def decorator(func):
        def wrapper(*args, **kwargs):
            # Логика декоратора с использованием аргументов arg1 и arg2
            result = func(*args, **kwargs)
            return result
        return wrapper
    return decorator

@my_decorator(arg1, arg2)
def my_function():
    # Логика функции
    pass

Здесь мы определяем функцию my_decorator, которая принимает два аргумента arg1 и arg2. Внутри нее определяется функция decorator, которая принимает ссылку на декорируемую функцию. Внутри функции decorator определяется функция wrapper, которая выполняет основную логику декоратора с использованием переданных аргументов. Наконец, декорируемая функция my_function помечается декоратором my_decorator с передачей аргументов arg1 и arg2.

При вызове функции my_function с помощью декоратора my_decorator с аргументами arg1 и arg2, будет вызвана функция wrapper, которая выполнит логику декоратора с учетом переданных параметров. Это позволяет динамически изменять поведение функций в зависимости от переданных аргументов декоратора.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Метод radd для пользовательских чисел
  2. Методы обработки строк в Python
  3. Сортировка HTML-элементов
  4. Модуль inspect: получение информации о объектах
  5. TON Smart Challenge #2: участие и подготовка
  6. Генерация UUID в Python
  7. Создание таблиц в Python с PrettyTable
  8. Обмен значений переменных в Python
  9. Метод lt для сортировки объектов
  10. Измерение времени выполнения кода
  11. Хранение переменных в словаре.
  12. Python enumerate() функции
  13. Удаление ключа из словаря в Python
  14. Разделение списка на гнппы
  15. Сортировка в Python
  16. ChainMap.new_child() — добавление нового словаря
  17. Создание списков в Python
  18. Преобразование чисел в слова
  19. Метод split() в Python
  20. Декораторы с аргументами
  21. Логирование в Python
  22. Переопределение унарных операторов
  23. Уникальность ключей в словаре
  24. Создание таблиц в терминале с PrettyTable
  25. Экспорт внешнего файла с помощью writefile
  26. Вставка переменных в шаблоны Flask
  27. Работа с массивами в Numpy
  28. Изучение объектов с помощью dir()
  29. Фильтрация данных в Python.
  30. Объединение коллекций в Python
  31. Работа со списками
  32. Работа со временем в Python
  33. Использование эмодзи в Python
  34. Применение функции к списку
  35. Оператор zip в Python
  36. Установка и использование модуля «howdoi»
  37. Поиск шаблона в строке
  38. Списки в Python: синтаксис представления
  39. Colorama: окрашивание текста в Python
  40. Передача параметров в Python
  41. Сортировка в Python
  42. Асинхронное выполнение задач в процессах
  43. Именованные аргументы в Python
  44. Объединение строк с помощью метода join
  45. Перевод эмодзи и эмотиконов.
  46. Создание и удаление объектов
  47. Работа с zip()
  48. Оператор += для объединения строк
  49. Сравнение def и lambda функций в Python

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