Курс Python → Декораторы в Python
Декораторы в Python — это мощный инструмент, который позволяет изменить поведение функции, не изменяя ее исходный код. Они представляют собой функции, которые принимают другую функцию в качестве аргумента и возвращают новую функцию. При вызове функции, к которой применен декоратор, сначала выполняется код декоратора, а затем уже сама функция.
Пример использования декоратора можно увидеть в следующем коде:
def print_argument(func):
def wrapper(*args, **kwargs):
print(f"Аргументы функции: {args}")
result = func(*args, **kwargs)
return result
return wrapper
@print_argument
def greet(name):
return f"Привет, {name}!"
print(greet("Мир"))
В данном примере мы создаем декоратор print_argument, который выводит аргументы функции перед ее выполнением. Затем мы применяем этот декоратор к функции greet, которая принимает имя и возвращает приветствие. При вызове greet(«Мир») сначала будет выведено «Аргументы функции: (‘Мир’,)», а затем «Привет, Мир!».
Декораторы можно применять к любому количеству функций, обеспечивая повторное использование одного и того же кода для различных функций. Они широко используются во многих популярных библиотеках и фреймворках Python для добавления дополнительной функциональности без изменения исходного кода функций.
Использование декораторов позволяет сделать код более читаемым, модульным и эффективным. Они предоставляют простой способ добавления дополнительной логики к функциям, не засоряя их основной код. Поэтому освоение работы с декораторами является важным навыком для любого разработчика Python.
Другие уроки курса "Python"
- Форматирование строк с % в Python
- Функция divmod() в Python
- Удаление элемента по индексу в Python
- Инверсия списка и строки
- Склеивание строк без циклов
- Сортировка в Python
- Преобразование символов в нижний регистр
- Автоматизация действий с Pyautogui
- Создание циклической ссылки
- Необязательные аргументы в Python
- Сортировка с параметром key
- Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
- Отправка поздравлений по дню рождения
- Передача параметров в Python
- Область видимости переменных
- Повторение элементов в Python
- PrettyTable: создание таблицы
- kwargs в Python
- Избегайте пустого списка
- Обработка исключений в Python
- Списковые включения в Python
- Оптимизация создания строк
- IPython и Jupyter Notebook: руководство
- Создание новых функций с помощью functools.partial
- Курсы Яндекс Практикум
- Переменная с нижним подчеркиванием
- Объединение словарей в Python 3.5+
- Проверка на истинность объектов в Python
- Асинхронное выполнение задач в процессах
- Изменение элемента списка
- Бинарный поиск
- Поиск индекса элемента
- Преобразование чисел в восьмеричную строку
- Подсказки типов в Python
- Создание .exe файла с pyinstaller
- Применение функции к каждому элементу списка
- Оптимизация интернирования строк
- Синхронизация потоков с time.sleep()
- Список переменных с %who
- Поиск файлов по шаблону
- Оптимизация параметров в Python
- Базовые объекты Python
- Создание коллекций из выражения-генератора
- Сортировка слиянием















