Курс 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
- Метод eq для сравнения объектов
- Python: библиотеки и функции
- Анализ кода — Python
- Извлечение новостей с newspaper3k
- Создание списка через цикл
- Нан-рефлексивность в Python
- Работа с файлами и директориями в Python.
- Переопределение метода sub
- Объединение итераторов
- Определение относительного пути
- Создание уникального множества
- Вычисление натурального логарифма в NumPy
- Множества и frozenset
- Оптимизация поиска в словарях
- Метод rpow в Python
- Списковые включения в Python
- Тестирование с responses
- Инициализация переменных
- Проверка типа объекта в Python
- Разделение строки с помощью re.split()
- Работа с PosixPath() в Python
- Роль запятой в Python
- Инверсия списка/строки в Python
- Работа с collections в Python
- kwargs в Python
- Работа с комбинациями в Python.
- Отправка POST-запроса в REST API
- Документация функции help() в Python
- Преобразование в float
- Замена элементов в списке с помощью генераторов списков
- Бинарный поиск
- Python 3.12: переиспользование кавычек
- Генераторы списков в Python
- Получение списка кортежей из словаря
- Отправка поздравлений по дню рождения
- Проекты на Python
- Метод __ilshift__ для битового сдвига влево
- Модуль array: создание и использование массивов
- Подсчет элементов в списке с Counter
- Модуль itertools: эффективная работа с итераторами
- Безопасный доступ к значениям словаря
- Метод rrshift для пользовательских объектов















