Курс 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"
- Функция rsplit() в Python
- Подсчет количества элементов в списке
- Переименование файлов в Python
- Обработка ошибки IndexError
- Установка виртуального окружения Python
- Использование модуля __future__
- Подписка на SelectelNews в Twitter
- ChainMap.new_child() — добавление нового словаря
- Проверка типов с использованием isinstance
- Генератор чисел Фибоначчи
- Преобразование списка в словарь через генератор
- Преобразование числа в восьмеричную строку
- Генератор списка в Python
- Python UserString — создание подклассов строк
- Генерация UUID в Python
- Замена текста с помощью sub
- Выбор редактора кода.
- Работа с датами в Python
- Использование метода lower()
- Работа с буфером обмена на Python
- Асинхронный код в Python
- Участие в сообществе @selectel
- Итерации в Python
- Вложенные функции в Python
- Фильтрация данных в Python.
- Удаление элемента по индексу в Python
- Замеры производительности в Python
- Перетасовка списков в Python
- Символ подчеркивания в Python
- Выход из профиля в Django
- Избегайте использования goto
- Конкатенация строк с помощью join()
- Функция enumerate() в Python
- Поиск простых чисел
- Вложенные циклы в Python
- Открытие, чтение и закрытие файла
- Оптимизация гиперпараметров в Python
- Обезопасьте ввод данных
- Сравнение def и lambda функций в Python
- Создание пользовательской коллекции в Python
- Классы данных в Python
- Модуль pprint
- Генераторы в Python
- Строки в Python: апострофы и кавычки
- Повторение элементов списков
- Генерация чисел с range()
- Оператор * в Python















