Курс 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"
- CSV строка разделение в Python
- Определение относительного пути
- Удаление URL-адресов в Python
- Циклы в Python
- Структура данных deque в Python
- Работа с файлами в Python
- Хеши в Python
- Оператор assert в Python
- Обратный список чисел
- Проверка подстроки в строке с помощью in
- Работа с файлами в Python
- Частичное совпадение ввода
- Замена текста с помощью sub
- Генераторы данных
- Глобальные переменные в Python
- Переменные в Python: сокращение гласных
- Вызов функций по строке в Python.
- Изменения в обработке логических значений
- Создание и операции с дробями
- Python: отсутствие точек с запятыми
- Сортировка в Python
- Метод округления чисел
- Метод split() в Python
- Перевод двоичного кода в целое число
- Сравнение def и lambda в Python
- Разбиение строки в Python
- Получение текущей даты в Python
- Операция += для списков
- Методы classmethod и staticmethod
- Статическая типизация в Python
- Функция enumerate в Python
- Передача словаря через **kwargs
- Работа с парами ключ-значение
- Изменение объектов в Python
- Установка и использование модуля Wikipedia
- Python Ellipsis использование
- Замена элементов в списке с помощью генераторов списков
- Метод __ilshift__ для битового сдвига влево
- Ключевое слово global в Python
- Создание новых списков через list comprehensions
- Сортировка в Python
- Обрезка изображения с Pillow
- Динамические маршруты во Flask
- Измерение времени выполнения кода















