Курс 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"
- Изменяемые и неизменяемые объекты
- Модуль inspect
- Просмотр атрибутов и методов класса
- Библиотека Chartify: руководство
- Мониторинг работы программы Py-spy
- Переменная с нижним подчеркиванием
- Создание тестовых данных с Faker
- Метод join для наборов
- Удаление символа из строки
- Преобразование символов с помощью map
- Определение функций с необязательными аргументами
- Получение текущей даты в Python
- Очистка входных данных
- Обновление данных через PUT запрос
- Декоратор Property в Python
- Измерение времени выполнения кода
- Курс по дообучению ChatGPT
- Логические значения в Python
- Компиляция регулярных выражений
- Атрибуты класса и экземпляра
- 9 уловок для чистого кода
- SciPy: широкий функционал для математических операций
- Codecademy в Telegram
- Вычисление натуральных логарифмов в NumPy
- Разделение строки с помощью re.split()
- Проверка списка: any() и all()
- Создание копии списка в Python
- Реализация метода __abs__ в Python
- Создание списков в Python
- Таймер обратного отсчета
- Логирование с Logzero
- ROT13 Шифр Цезаря в Python
- enumerate() в Python для работы с индексами
- Обновление шаблона base.html
- Возврат нескольких значений из функции
- Создание копии итератора
- Печать месячного календаря
- Создание функций высшего порядка
- Структуры данных в Python
- Декораторы с @wraps
- List Comprehension Tutorial
- Объединение итераторов
- Настройка нарезки списков
- Структуры данных в Python
- Передача словаря через **kwargs
- Работа с комплексными числами в Python
- Экспорт функций в Python















