Курс 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
- Логирование с Logzero
- Счетчик ссылок в Python
- Переменные в Python
- Функции all и any в Python
- Вычисление натурального логарифма в NumPy
- Работа с итераторами в Python
- Работа с URL-адресами в Python
- Определение размера папок в Python
- Метод split() для разделения строк
- Избегайте ошибку FileNotFoundError
- Инвертирование словаря
- Функции в Python
- Метод rsub в Python: расширение функциональности вычитания
- Функция enumerate в Python
- Создание списков в Python
- Импорт с альтернативным именем
- Создание новых функций через partial
- Создание и использование модулей в Python
- Создание GUI с Tkinter: Entry
- Функции с дополнением
- Работа с пакетами
- Работа со временем в Python
- Многострочные комментарии в Python
- Метод ior для битовых операций
- Создание списка через цикл
- Метод join для объединения строк
- Создание новых списков через list comprehensions
- Обработка исключений в Python
- Модуль math: основные функции
- Поиск наиболее частого элемента списке
- Объединение словарей в Python
- Фильтрация данных в Python.
- Работа с коллекциями Python
- Изменение регистра данных
- Оператор in для Python
- Использование метода lower()
- Проверка типов с помощью isinstance
- Лямбда-функции в Python
- Строковое представление объектов
- Управление User-Agent в Python
- Конструктор в Python
- SciPy: широкий функционал для математических операций















