Курс Python → Декораторы в Python
Декораторы в Python — это специальные функции, которые могут изменить поведение другой функции или класса без изменения их собственного кода. Они позволяют добавлять дополнительную функциональность к существующему коду, не изменяя его исходную реализацию. Декораторы могут использоваться, например, для логирования, кэширования, проверки аргументов или управления доступом к функциям.
Для создания декоратора в Python используется символ @, за которым следует имя функции-декоратора. Функция-декоратор принимает другую функцию в качестве аргумента и возвращает новую функцию или класс. Это позволяет применять декоратор к другим функциям, чтобы изменить или расширить их поведение.
def square_decorator(func):
def wrapper(*args, **kwargs):
result = func(*args, **kwargs)
return result ** 2
return wrapper
@square_decorator
def square(x):
return x
В приведенном примере функция square_decorator() является декоратором, который принимает функцию в качестве аргумента и возвращает новую функцию, которая возводит результат выполнения исходной функции в квадрат. После применения декоратора @square_decorator к функции square(), результат ее выполнения будет возводиться в квадрат.
Использование декораторов позволяет сделать код более модульным, читаемым и гибким. Они позволяют разделить различные аспекты функциональности программы и применять их по отдельности к различным частям кода. Благодаря декораторам можно эффективно использовать и переиспользовать код, делая его более универсальным и поддерживаемым.
Другие уроки курса "Python"
- Хеши в Python
- Инверсия списка и строки
- Многострочные строки в Python
- Работа с collections в Python
- Работа со списками
- Основные операции с библиотекой Numpy
- Поиск с помощью регулярных выражений
- Кортеж в Python: создание и использование
- Работа с CSV файлами в Python
- Форматирование строк в Python
- Создание словаря с значением по умолчанию
- Преобразование списка в словарь через генератор
- Конвертация изображений в PDF
- Изменение элемента списка
- Создание словаря и множества
- Работа с изображениями Pillow
- Комментарии в Python
- Flask: создание веб-приложений
- Howdoi — получение ответов из терминала
- Основы Python
- Измерение времени выполнения кода
- Работа с файлами в Python
- Особенности ключей словаря в Python
- Создание обратного итератора
- Поиск частых элементов в списке
- Просмотр внешних файлов в %pycat
- Участие в LP стейкинге Waves
- Тестирование времени с Freezegun
- Транспонирование 2D-массива с помощью zip
- Отправка HTTP-запросов с User-Agent
- Логирование с Logzero
- Аннотации типов в Python
- Получение обратного списка чисел
- Экспорт внешнего файла с помощью writefile
- Автоматизация скриптов на AWS Lightsail.
- Список переменных с %who
- Работа с кортежами в Python
- Сравнение строк в Python
- Иерархия классов в Python
- Метод __ilshift__ для битового сдвига влево
- Генератор данных в Keras
- Flask — веб-фреймворк Python
- Метод append() для списка
- Numpy: объединение массивов
- Управление асинхронными задачами с помощью Semaphore
- Создание вложенного генератора
- Принцип одной функции
- Преобразование чисел в восьмеричную строку















