Курс 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"
- globals и locals
- Удаление ключа из словаря
- Создание GUI с Tkinter: Entry
- Наиболее частотные элементы с помощью Counter
- Оператор in для Python
- Метод radd для пользовательских чисел
- Векторизация в Python с NumPy.
- Форматирование строк в Python
- Деление в Python
- Оператор assert в Python
- Преобразование типов данных в set comprehension
- Оператор «and» в Python
- Работа с индексами списков
- Автоматизация скриптов на AWS Lightsail.
- Разделение списка на гнппы
- Функция zip() в Python
- Работа с NumPy
- Модуль inspect: получение информации о объектах
- Функции min(), max(), sum()
- Измерение времени выполнения кода
- Декоратор Ajax required
- Логирование в Python
- Enum в Python
- Функции-генераторы в Python
- Оператор «is not» в Python
- Декоратор @override
- Ускорение выполнения кода в Python
- Проблемы с именами переменных
- Метод join() для объединения строк
- Генерация QR-кодов с Python
- Работа с zip-архивами в Python
- Лямбда-функции в Python
- Lambda-функция в Python: использование с map() и sum()
- Разница между датами
- Именование переменных в Python
- Обработка ошибки IndexError
- Измерение времени выполнения с помощью time
- Работа со словарями Python
- Встраивание HTML в Jupyter Notebook
- Модуль functools в Python
- Преобразование списка в словарь через генератор
- Управление контекстом с помощью декоратора contextmanager
- Функция format() в Python
- Логический оператор «and» в Python
- Конвертация коллекций в Python.
- Получение значений из словарей
- Python groupby() из itertools: работа с повторяющимися элементами















