Курс 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 с pandas
- Извлечение аудио из видео
- Синхронизация потоков с time.sleep()
- Генерация QR-кодов с Python
- Создание итератора
- Реализация метода __abs__ в Python
- Lambda Functions in Python
- Лямбда-функции для min/max
- Копирование объектов в Python
- Проверка версии Python
- Именованные срезы в Python
- Выражения-генераторы в Python
- Основные операции с Numpy
- ChainMap.new_child() — добавление нового словаря
- Управление памятью в numpy.
- Метод enumerate() в Python
- Синхронизация доступа к ресурсам
- Необязательные аргументы в Python
- Таймер обратного отсчета
- Метод __call__ в Python
- Введение в Python
- Добавление кнопки в tkinter
- Поиск шаблона в строке
- Поиск подстроки в строке
- Объединение коллекций в Python
- Потоковый ввод в Python
- Тестирование функции сложения
- JSON-esque в Python
- Обработка исключений в Python
- Оформление кода по PEP 8
- Поиск всех индексов подстроки
- Работа с модулем bisect
- Метод join() для объединения элементов строки
- Библиотека Rich: форматирование текста
- Операции со строками в Python
- Удаление элементов из списка
- Поиск индексов в списке
- Операторы сравнения в Python
- Возврат нескольких значений
- Создание Radio кнопок в tkinter
- Генерация случайных чисел в Python
- Работа с YAML в Python
- Создание OrderedDict















