Курс 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
- Docstring в Python
- Добавление Progressbar в Python
- Импорт модулей и пакетов в Python
- Удаление элементов из списка в Python
- Установка и обучение ChatterBot
- Проблемы с именами переменных
- Обновление ключей в Python
- Модуль itertools: комбинации и перестановки
- Конструктор в Python
- Многострочные комментарии в Python
- Использование метода lower()
- Разделение строки с помощью re.split()
- Преобразование чисел в слова
- Импорт с альтернативным именем
- Копирование объектов в Python
- Создание класса в Python
- Numpy: объединение массивов
- Получение текущей даты в Python
- Структурирование данных с Pydantic
- Работа с SQLite в Python
- Метод join() для объединения элементов строки
- Проверка на палиндром
- Чтение и запись TOML-конфигов
- Извлечение данных из JSON
- Использование подчеркивания в REPL
- Виртуальное окружение Python
- Хешируемые ключи в Python
- Объединение списков с помощью zip
- 9 уловок для чистого кода
- Именование столбцов в Python с pandas
- Метод remove() для удаления элемента из списка
- Работа с географическими данными.
- Подробная информация о %pinfo
- Условные выражения в Python
- Объединение словарей в Python
- Избегайте ошибку FileNotFoundError
- Декораторы в Python
- Работа с deque из collections
- Избегайте изменяемых аргументов
- Именованные срезы в Python















