Курс 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. Хеши в Python
  2. Основы Python за 14 дней
  3. Курс по дообучению ChatGPT
  4. Создание словарей с defaultdict
  5. Переопределение метода __lshift__
  6. Управление сессиями в Python
  7. Создание веб-приложения с Flask
  8. Логические значения в Python
  9. Генерация случайных чисел в Python
  10. Работа с Event() в threading
  11. Оператор in для проверки наличия элемента
  12. Методы обработки строк в Python
  13. Принципы SRP и OCP
  14. Регулярные выражения в Python
  15. Работа с комплексными числами
  16. Создание словарей с defaultdict()
  17. Удаление ссылок в Python
  18. Метод getitem для доступа к элементам последовательности
  19. Непрерывная проверка в Python
  20. Удаление элементов во время итерации
  21. Определение основы слова с showballstemmer
  22. Сортировка в Python
  23. Открытие и редактирование скриптов Python
  24. Работа с множествами в Python
  25. Оператор морж в Python 3.8
  26. Подробная информация о %pinfo
  27. Методы работы со списками
  28. Декораторы в Python
  29. Создание словаря в Python
  30. Преобразование типов данных в set comprehension
  31. Оператор @ для умножения матриц
  32. Обработка исключений в Python
  33. Метод index() в Python
  34. Бесконечные списки в Python
  35. Обработка исключения UnboundLocalError
  36. Работа с аргументами командной строки
  37. Форматирование строк в Python
  38. Работа с CSV файлами в Python
  39. Переменные в Python: сокращение гласных
  40. Импорт классов из другого файла
  41. Защита данных в Python
  42. Определение локальных переменных в Python
  43. Аргумент по умолчанию
  44. Группы исключений в Python

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