Курс 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"

  1. Работа с collections в Python.
  2. Удаление элементов из списка
  3. Solidity для DeFi Ethereum
  4. Умножение строк и списков
  5. Форматирование строк с f-строками
  6. Определение объема памяти объекта
  7. Операции с массивами в NumPy
  8. Метод bool() в Python
  9. Изменяемые и неизменяемые объекты
  10. Показ всплывающих окон Tkinter
  11. Docstring в Python
  12. Вставка переменных в шаблоны Flask
  13. Метод eq для сравнения объектов
  14. Перевернуть список в Python
  15. Лямбда-функции в Python
  16. Отступы в Python
  17. Основные операции с библиотекой Numpy
  18. Конструктор в Python
  19. Методы HTTP запросов в Flask
  20. Управление асинхронными задачами с помощью Semaphore
  21. Переворот строки с помощью срезов
  22. Аргументы *args и **kwargs
  23. Возвращение нескольких значений
  24. Оператор continue в Python
  25. Использование метода lower()
  26. Структуры данных в Python
  27. Проверка подстроки в строке с помощью in
  28. ROT13 Шифр Цезаря в Python
  29. Блок try-except-else
  30. Область видимости переменных
  31. Сортировка в Python
  32. Работа с URL-адресами в Python
  33. Методы и функции в Python
  34. Структурирование именованных констант
  35. Метод add для класса Vector
  36. Обновление ключей в Python
  37. Безопасный доступ к значениям словаря
  38. Установка User-Agent в Python
  39. Извлечение чисел из текста
  40. Класс UserDict: дополнительная функциональность
  41. Метод gt в Python
  42. Создание коллекций из выражения-генератора
  43. Многоточие в Python
  44. Метод matmul для умножения матриц
  45. Эффективная конкатенация строк с использованием join()
  46. Условное добавление элементов в список
  47. Экранирование символов в Python
  48. Печать в одной строке
  49. Проверка элементов списка условием

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