Курс 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
- Обработка исключения UnboundLocalError
- Возврат нескольких значений из функции
- Приближение чисел в Python
- Функция __init__ в Python
- Оператор == в Python
- Обход элементов в Python
- Использование функции product
- Поиск частых элементов в списке
- Функция enumerate() — Python
- Работа с f-строками 2.0
- Использование html-скриптов в Jupyter Notebook
- Декораторы в Python
- Работа с библиотекой requests
- Проверка условий: all и any
- Автоматизация действий с Pyautogui
- Операции с массивами в NumPy
- Запрос пароля с помощью getpass
- Преобразование строк в числа в Python
- Логический оператор «and» в Python
- Константы в модуле cmath
- Работа с контекстными менеджерами
- Обратный список чисел
- Область видимости переменных в Python
- Извлечение чисел из текста
- Метод join() для объединения строк
- Работа с YAML в Python
- Метод join() для объединения элементов строки
- Настройка шрифта и цвета в Tkinter
- Область видимости переменных
- Генераторы и сеты в Python
- Отображение HTML кода в Python
- Инверсия списка и строки
- Методы __repr__ и __str__ в Python
- Список и кортеж в Python
- Библиотека wikipedia для Python
- Преобразование многоуровневого словаря
- Работа с Enum в Python3.
- Установка и использование TensorFlow
- Переопределение метода divmod
- Метод Event.wait() в Python
- Обработка исключений в Python















