Курс 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"
- Python: возвращение нескольких значений
- Функция __init__ в Python
- Участие в LP стейкинге Waves
- Определение функций с необязательными аргументами
- Создание списков в Python
- Поиск наиболее частого элемента в списке
- Многострочные комментарии в Python
- Разделение строки в Python
- Работа с NumPy.linalg
- Распаковка с оператором *
- Модуль inspect: получение информации о объектах
- Декораторы классов
- Удаление специальных символов
- Возврат нескольких значений
- Выражения-генераторы в Python
- Метод join() для объединения элементов
- Работа с пакетами
- Управление памятью в numpy.
- Область видимости переменных в Python
- Структура строк в Python
- Создание и инициализация объектов
- Нахождение разницы между списками в Python
- Команда %dhist — список посещенных каталогов
- Подсказки типов в Python
- Импорт модуля из другого каталога
- Python: отличительная особенность — отступы
- Оценка точности модели
- Подсчет элементов с помощью Counter из collections
- Списки в Python: основы
- Нан-рефлексивность в Python
- Сортировка элементов в Python
- Преобразование данных в Python
- Логические операторы в Python
- Улучшенные подсказки для импорта в Python 3.12
- Модуль os в Python: работа с файлами
- Таймер обратного отсчета
- Блок else в циклах.
- Настройка Cron
- Работа с изменяемыми коллекциями
- Работа со строками
- Создание копии списка в Python
- Разрешение имен в Python
- Удаление элементов во время итерации
- Приближение чисел в Python
- Работа с NumPy
- Глубокое копирование объектов
- ChainMap избыточные ключи















