Курс 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
- Разделение строк методом split()
- Утечки переменных цикла в Python 3.x
- Сортировка в Python
- Преобразование данных в Python
- Потоковый ввод в Python
- Объединение итераторов
- Оценка выражений генератора в Python
- Работа с YAML в Python
- Работа со словарями в Python
- Удаление дубликатов из списка с помощью dict.fromkeys
- Просмотр атрибутов и методов класса
- Поиск шаблона в начале строки
- Удаление элементов по срезу
- Освоение Python
- Работа с JSON в Python
- Создание и использование ChainMap
- Преобразование чисел в восьмеричную строку
- Анализ текста на русском языке с помощью Pymystem3
- Путь к интерпретатору Python
- Создание OrderedDict
- Enum в Python: создание и использование перечислений
- Запуск внешнего кода в Jupyter
- Работа с временем в Python
- Python union() функция — объединение множеств
- Доступ к локальным переменным
- Уникальные значения из списка
- Работа с библиотекой requests
- Создание графиков в терминале
- Проверка типов с использованием isinstance
- Основы слова
- Объединение словарей в Python 3.5+
- Вывод с переменной через запятую
- Множественное назначение в Python
- Работа с парами ключ-значение
- Метод join() для объединения элементов строки
- Создание словаря через dict comprehension
- Создание генераторов
- Определение объема памяти объекта
- Списковый компрехеншен.
- Создание функций с произвольным количеством аргументов
- Протокол управления контекстом
- Переопределение унарных операторов
- Преобразование типов данных в set comprehension
- Функции all() и any() в Python















