Курс 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
- Преобразование строк в числа в Python
- Сортировка слиянием
- Проверка подстроки в строке
- Замена символов в Python
- Использование модуля math
- split() без разделителя
- Работа с базами данных SQLite
- Метод get() для словарей
- Работа с изображениями Pillow
- Метод classmethod
- Работа с NumPy.linalg
- Метод __ilshift__ для битового сдвига влево
- Структура данных deque в Python
- Структуры данных в Python
- Работа с типами данных в Python с помощью pydantic.
- Установка и использование Virtualenv
- Форматирование строк в Python
- Операции с числами в Python
- Изменение списка срезами
- Проверка типов с помощью isinstance
- Работа с атрибутом dict
- Перетасовка списков в Python
- Виртуальное окружение Python
- Цикл for в Python
- Создание вкладок с TKinter
- Расширение операции побитового «и» в Python
- Склеивание строк через метод join()
- Выбор редактора кода.
- Работа с YAML в Python
- Lambda-функция в Python: использование с map() и sum()
- Определение основы слова с showballstemmer
- Иерархия классов в Python
- Циклы в Python
- Печать комбинаций в Python с Itertools
- Перемещение и удаление файлов в Python
- Преобразование числа в список цифр
- Создание GUI с Tkinter: Entry
- Работа с часовыми поясами в Python.
- Метод repr() в Python
- Глобальные переменные в Python
- Сортировка списка по индексам
- Копирование объектов в Python















