Курс 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`. При использовании декоратора `@my_decorator` перед определением функции `say_hello`, мы применяем его к функции `say_hello`.

Библиотеки, такие как Flask и aiogram, активно используют декораторы для управления маршрутами и обработчиками сообщений. Например, в Flask декоратор `@app.route(‘/’)` определяет маршрут для обработки HTTP-запросов к корневому URL. Это позволяет легко создавать веб-приложения с помощью Python.

Использование декораторов может значительно упростить код, делая его более читаемым и модульным. Они позволяют добавлять функциональность к функциям без изменения их исходного кода. При разработке с использованием декораторов важно помнить об их порядке применения и возможных побочных эффектах, чтобы избежать нежелательного поведения программы.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Форматирование строк с % в Python
  2. Копирование объектов в Python
  3. Оператор continue в Python
  4. Метод rsub в Python: расширение функциональности вычитания
  5. Работа с очередями в Python
  6. Поиск элементов BeautifulSoup
  7. Ввод нескольких значений
  8. Отправка POST запроса на сервер.
  9. Работа с очередями в Python
  10. Оператор объединения словарей
  11. Проекты на Python
  12. Регистрация на хакатоне
  13. Управление ресурсами в Python
  14. Работа с модулем glob в Python
  15. Преобразование символов в нижний регистр
  16. Функция map() и ленивая оценка
  17. Основы Python
  18. Генератор данных в Keras
  19. Метод join() для объединения строк
  20. Операторы Splat и splatty-splat
  21. f-строки в формате строк
  22. Сортировка HTML по CSS-селектору
  23. Освобождение памяти в Python
  24. Работа с NumPy массивами
  25. Декоратор проверки активности
  26. Оптимизация памяти с slots
  27. Проверка на палиндром
  28. Экспорт внешнего файла с помощью writefile
  29. Работа с контекстными переменными
  30. Изменение списка срезом
  31. Объединение строк с помощью метода join
  32. Декодирование байтов в строку
  33. Метод invert для побитового отрицания
  34. Генерация UUID в Python
  35. List Comprehension Tutorial
  36. Использование функции enumerate()
  37. Измерение времени выполнения кода с использованием time
  38. Метод rxor для операции побитового исключающего «или»
  39. Игра «Угадывание чисел»
  40. Подсчет элементов в Python
  41. Бесконечная проверка в Python
  42. Проверка версии Python
  43. Декораторы в Python
  44. Разность множеств

Marketello читают маркетологи из крутых компаний