Курс Python → Декораторы в Python
Декораторы в Python — это мощный инструмент, который позволяет изменять поведение функций или методов без изменения их собственного кода. Прежде всего, декораторы позволяют нам повторно использовать код, делая его более читаемым и модульным. При этом они позволяют добавлять функциональность к существующим функциям, не изменяя их исходный код.
Для создания декоратора в Python используется символ @, за которым следует имя декоратора. Декоратор — это функция, которая принимает другую функцию в качестве аргумента и возвращает новую функцию. Эта новая функция обычно содержит дополнительный код, который выполняется до или после вызова исходной функции.
def my_decorator(func):
def wrapper():
print("Дополнительный код перед вызовом функции")
func()
print("Дополнительный код после вызова функции")
return wrapper
@my_decorator
def say_hello():
print("Привет, мир!")
В приведенном выше примере функция say_hello() декорируется функцией my_decorator(). При вызове функции say_hello() будет сначала выполнен дополнительный код из декоратора, затем сама функция say_hello() и, наконец, еще один блок кода из декоратора. Таким образом, мы можем легко изменять и расширять функциональность наших функций.
Использование декораторов в Python позволяет сделать код более гибким и удобным для поддержки. Они позволяют разделить логику программы на отдельные блоки, что упрощает чтение и понимание кода. Благодаря декораторам мы можем добавлять новые функции и возможности без необходимости изменения исходного кода, что делает нашу программу более масштабируемой и гибкой.
Другие уроки курса "Python"
- Метод __call__ в Python
- Python: библиотеки и функции
- Функции в Python
- Структура данных словарь в Python
- Метод matmul для умножения матриц
- Работа с путями в Python
- Работа с файлами и директориями в Python.
- Циклы for в Python
- Бесконечные списки в Python
- Группировка элементов Python
- Роль запятой в Python
- Декоратор total_ordering для класса Point
- Операторы Splat и splatty-splat
- Оператор морж в Python 3.8
- Генераторные функции в Python
- Библиотека sh: удобные команды терминала
- Преобразование списков в словарь
- Работа с итераторами через срезы
- Многострочные комментарии в Python
- IPython и Jupyter Notebook: руководство
- Поиск шаблона в строке
- Форматирование даты с strftime()
- Объединение словарей в Python
- Перемешивание списка с shuffle()
- Капитализация строк
- Изменение объектов в Python
- Работа с контекстными менеджерами
- Переворот строки
- Удаление символов новой строки в Python.
- Получение частей дроби
- Итераторы с потерямиZIP
- Запуск асинхронной корутины
- Модуль pprint: улучшение вывода данных
- Использование функции enumerate()
- Работа с модулем random
- Объединение словарей в Python
- Библиотека schedule: планировщик задач
- Метод __irshift__ для Python
- Проекты на Python
- Работа с кортежами в Python
- Lambda-функция в Python: использование с map() и sum()
- Метод rpow в Python
- Равенство и идентичность в Python
- Удаление элемента из списка в Python
- Новшества Flask 2.0















