Курс 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"
- Декораторы в Python
- Очистка списка от False, None, 0, «»
- Работа со словарями Python
- Подсчет вхождений элементов
- Частичное применение функций в Python
- Передача неизвестных аргументов в Python.
- Генератор бросков кубиков
- Декоратор защиты анонимных пользователей
- Встроенные функции Python
- Очистка данных с помощью pandas
- Моржовый оператор в Python 3.8
- Python Метод Union Множеств
- Профилирование с cProfile
- Удаление файлов в Python
- Конкатенация списков в Python
- Модуль Antigravity в Python 3
- PrettyTable: создание таблицы
- Итерация по итерируемым объектам
- Операции с матрицами в Python
- Импорт модулей в Python 3.12
- Установка и обучение ChatterBot
- Генератор надежных паролей
- Работа с файлами в Python
- Упрощение работы с JSON-данными в Python
- Объединение строк с помощью метода join
- Частичное совпадение пользовательского ввода в Python 3.10
- Метод difference_update() — разность множеств
- Отладка в Python
- Работа с атрибутом dict
- Удаление элемента по индексу в Python
- Оптимизация памяти с __slots__
- Сортировка элементов в Python
- Сравнение объектов в Python
- Принцип одной функции
- Запуск файлового сервера
- Работа с Path в Python
- Метод rsub в Python: расширение функциональности вычитания
- Метод Event.wait() в Python
- Метод classmethod
- Форматирование строк в Python
- Заказ карты Тинькофф Black
- Отправка поздравлений по дню рождения
- Доступ к локальным переменным
- Разделение строк в Python
- Преобразование типов данных в set comprehension
- Сериализация и десериализация объектов
- Лямбда-функции в Python
- Оператор Walrus в Python 3.8
- Правила именования переменных















