Курс 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"
- Операции с кортежами
- Импорт объектов из модулей
- Ускорение кода с помощью векторизации
- Разделение функций на этапы
- Создание функций с произвольным количеством аргументов
- Работа с GitHub в Telegram
- Извлечение аудио из видео
- Реализация метода __abs__ в Python
- Получение размера объекта с sys.getsizeof()
- Разработка Telegram-ботов
- Итерация по коллекции в Python
- Разделение строк в Python
- Применение функции к элементам списка
- Namedtuple в Python
- Участие в LP стейкинге Waves
- Python groupby() из itertools: работа с повторяющимися элементами
- Генерация тестовых данных с factory_boy
- Функция enumerate() в Python
- Бесконечная проверка в Python
- Библиотека sh: удобные команды терминала
- Операции с комплексными числами
- Подсчет элементов в списке с Counter
- Перемещение и удаление файлов в Python
- Работа с множествами в Python
- Удаление дубликатов из списка с помощью dict.fromkeys
- Модуль array: создание и использование массивов
- Удаление специальных символов
- Управление сессиями в Python
- Разделение строки на пары ключ-значение.
- Принципы программирования
- Dict Comprehension в Python
- Переопределение метода len
- Beautiful Soup — извлечение данных из HTML
- Проблемы с именами переменных
- Работа со словарями Python
- Введение в Python
- Использование super() в Python
- Лямбда-функции в цикле
- Основы работы со строками в Python
- Запуск внешнего кода в Jupyter
- Декораторы в Python
- Работа с JSON в Python
- Методы и функции в Python
- Управление ресурсами с контекстными менеджерами
- Логический оператор «and» в Python
- Обмен значений переменных в Python















