Курс 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
- Обработка исключений в Python
- Область видимости переменных
- Операции с матрицами в Python
- Форматирование строк с помощью f-строк
- Преобразование регистра строк
- Работа с временем в Python
- Работа с collections.Counter
- Метод remove() для удаления элемента из списка
- Управление фоновыми задачами в Python
- Конвертация коллекций в Python
- Присвоение значений переменным в Python
- Многострочные комментарии в Python
- Тип данных TypeVarTuple
- Поиск наиболее частого элемента в списке
- Хэш-функции в Python
- Копирование в Python
- Разработка игры Pong с turtle
- Добавление кнопки в tkinter
- Преобразование вложенного списка
- Копирование файлов с shutil()
- Преобразование в float
- Имена объектов в Python
- Упрощенный вывод данных в Python
- Numpy: объединение массивов
- F-строки в Python 3.8
- Генераторы в Python
- Проверка файла .py на синтаксис.
- Регулярные выражения в Python
- Поиск уникальных элементов строкой в Python
- Сложные типы данных в Python
- Преобразование букв в нижний регистр
- Mad Libs Generator
- Использование обратной косой черты в f-строках
- Concrete Paths — метод .with_suffix()
- Профилирование данных с Pandas
- Создание словарей в Python
- Сохранение Unicode в JSON
- Генераторы в Python
- Обработка исключения UnboundLocalError
- Библиотека Rich: форматирование текста
- Декоратор total_ordering для сравнения объектов
- Отделение звука от видео















