Курс 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. Создание и удаление объектов
  3. Метод rpow в Python
  4. Управление ресурсами с контекстными менеджерами
  5. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  6. Распаковка элементов массива
  7. Получение размера объекта с sys.getsizeof()
  8. Подписка на @SelectelNews
  9. Оператор распаковки в Python
  10. *args и **kwargs в Python
  11. Метод hash в Python
  12. Оператор walrus в Python
  13. Удаление элемента из списка
  14. Запуск внешнего кода в Jupyter
  15. Цикл for с enumerate() в Python
  16. Игра Виселица на Python
  17. Использование метода lower()
  18. Работа со строками в Python
  19. Оператор морж в Python 3.8
  20. Разделение строк в Python
  21. Печать календаря
  22. Изменение списка срезами
  23. Numpy: использование Ellipsis
  24. Функция divmod() в Python
  25. Удаление falsy-значений из списка с помощью filter
  26. Извлечение аудио из видео
  27. Объединение списков с использованием itertools.chain
  28. Тестирование функции сложения
  29. Оператор assert в Python
  30. Методы сравнения множеств
  31. Генераторы списков
  32. Логирование в Python
  33. Преобразование символов с помощью map
  34. Работа с массивами в Python
  35. Извлечение аудио из видео
  36. Декоратор total_ordering для сравнения объектов
  37. Работа с файлами в Python
  38. Работа с PosixPath() в Python
  39. Импорт модулей в Python 3.12
  40. Расчет времени выполнения
  41. Основные методы NumPy
  42. Метод title() в Python
  43. Создание пользовательской коллекции в Python
  44. Создание словарей и множеств в Python.
  45. Замена текста с re.sub()
  46. Combobox в Tkinter
  47. Обход дочерних элементов BeautifulSoup
  48. Извлечение новостей с newspaper3k

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