Курс 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. Удаление URL-адресов в Python
  2. Очистка вывода в Python
  3. Форматирование заголовков в Python
  4. Отправка HTTP-запросов в Python
  5. Combobox в Tkinter
  6. Numpy: объединение массивов
  7. Функции высшего порядка в Python
  8. Работа с NumPy.linalg
  9. Обработка ошибок ввода данных
  10. PrettyTable: создание таблицы
  11. Преобразование Excel в PDF с Spire.XLS
  12. Команда %dhist — список посещенных каталогов
  13. Использование функции enumerate()
  14. Функция product() из itertools
  15. Лимиты на ресурсы Python
  16. Логический оператор «and» в Python
  17. Изменение списка срезом
  18. Операции с датами в Python
  19. Разделение строк в Python
  20. Работа с collections.Counter
  21. Заказ карты Тинькофф Black
  22. Курс Data Scientist в медицине
  23. Сравнение строк в Python
  24. Работа с zip-архивами в Python
  25. Методы работы со списками
  26. Метод join() для объединения элементов
  27. Декоратор проверки активности
  28. Объединение словарей в Python
  29. Применение функции map() с лямбда-функциями
  30. Работа с географическими данными в Python
  31. Обработка ошибок в Python
  32. Преобразование строк в числа в Python
  33. Список и кортеж в Python
  34. Генерация случайных данных в NumPy
  35. Передача параметров в Python
  36. Переопределение метода delitem в Python
  37. Поиск анаграмм с Counter
  38. Обработка элементов в Python
  39. Модуль xkcd: добавление юмора в Python
  40. JMESPath в Python
  41. Списковые включения в Python
  42. Списковое включение в Python
  43. Открытие и редактирование скриптов Python
  44. Генераторы списков в Python
  45. Отображение графиков в Jupyter с Matplotlib
  46. Форматирование строк в Python
  47. Реверс строки и списка в Python.

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