Курс 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
- Создание задания в Cron
- Преобразование range в итератор
- Лямбда-функции в Python
- Функциональное программирование.
- Python Менеджер контекста
- Генераторы списков в Python
- Особенности множеств в Python
- Именованные аргументы в Python
- Функции map, filter, reduce
- Метод join() для объединения строк
- Генерация случайных чисел Python
- Экспорт данных в файл.
- Закрытие файла в Python
- Проверка на истинность объектов в Python
- Метод bool() в Python
- Импорт и использование модулей в Python
- Метод rsub для пользовательских чисел
- Работа с множествами в Python
- Замена символов в строке
- Модуль sys: основы
- Конкатенация строк в Python
- Манипуляция формой массива в Numpy
- Работа с JSON в Python
- Обмен данными с asyncio.Queue
- Python: динамическая типизация и проверка типов
- Python groupby() из itertools: работа с повторяющимися элементами
- Символ подчеркивания в Python
- Метод сравнения объектов в Python
- Форматирование строк в Python
- Вызов функций по строке в Python.
- Компиляция регулярных выражений
- Разделение строки на пары ключ-значение.
- Операторы увеличения и уменьшения переменной
- Глобальные переменные в Python
- Профилирование с Pandas
- Печать комбинаций в Python с Itertools
- Атрибуты объекта в Python
- Отделение звука от видео
- Функции с необязательными аргументами
- Разбиение текста в Python
- Методы list в Python
- Работа с CSV в Python
- Списковое включение в Python
- Пропуск начальных строк с помощью dropwhile()
- JMESPath в Python















