Курс 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
- Использование type hints
- Замена текста в Python
- Python Enum Weekday Usage
- Метод pos в Python
- Фильтрация списка чисел
- Создание новых функций через partial
- Декораторы в Python
- Декораторы с аргументами в Python
- Bootle — простой веб-фреймворк
- Списковое включение в Python
- Метод Event.wait() в Python
- Работа с Requests для HTTP-запросов
- Форматирование строк в Python
- Декораторы в Python
- Порядок и длина множеств в Python
- Оптимизация сравнения в Python
- Объединение словарей в Python
- Работа с часовыми поясами в Python.
- Цикл for в Python
- Функции высшего порядка в Python
- Константы в модуле cmath
- Создание уникального проекта
- Работа со словарями с defaultdict из collections
- Проверка типа объекта в Python
- Декоратор total_ordering для сравнения объектов
- Python Метод sleep() из time
- Условное добавление элементов в список
- Вакансии в Nebius
- Многострочные комментарии в Python
- Структуры данных в Python
- Частичное совпадение пользовательского ввода в Python 3.10
- Нахождение хеша для бесконечности и NaN в Python
- Декораторы в Python
- Функция rsplit() в Python
- Использование подчеркивания в REPL
- Numpy: использование Ellipsis
- Поиск самого длинного слова в списке с использованием max()
- Оболочка Python
- Создание таблиц в Python с PrettyTable
- Принципы программирования
- Логирование с Logzero
- Генерация чисел с range()
- Оператор is в Python
- Измерение времени выполнения кода















