Курс 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. Назначение максимального и минимального значения переменной в Python.
  2. Декодирование строк в Python
  3. Встраивание HTML в Jupyter Notebook
  4. Непрерывная проверка в Python
  5. Рекурсия для обращения строки
  6. Numpy: разбиение массивов
  7. Удаление символов новой строки в Python.
  8. Поиск HTML-элементов с BeautifulSoup
  9. Оператор == в Python
  10. Сокращение ссылок с pyshorteners
  11. Списковый компрехеншен.
  12. Присоединение элементов коллекции
  13. Monkey Patching в Python
  14. Функции в Python: создание и вызов
  15. Bootle — простой веб-фреймворк
  16. Добавление элемента к кортежу
  17. Векторизация в Python с NumPy.
  18. Мониторинг памяти с Pympler
  19. Переворот списка в Python
  20. Перетасовка списков в Python
  21. Метод rpow в Python
  22. Методы shutil для работы с файлами
  23. Оператор in и not in в Python
  24. Работа с NumPy
  25. Работа с файлами в Python
  26. Регистрация на TenChat
  27. Мониторинг работы программы Py-spy
  28. Работа с каталогами в Python
  29. Работа с SQLite в Python
  30. Работа с временем в Python
  31. Удаление элементов из списка
  32. Методы __repr__ и __str__ в Python
  33. Создание словарей и множеств в Python.
  34. Управление виртуальными окружениями в Python
  35. Тестирование с responses
  36. Проверка вхождения подстроки
  37. Аргументы *args и **kwargs
  38. Декораторы с @wraps
  39. Генерация QR-кодов с Python
  40. Оператор in в Python
  41. Поиск анаграмм с Counter
  42. Переопределение метода __eq__
  43. Простой калькулятор Python
  44. Вложенные циклы в Python
  45. Проверка условий: all и any
  46. Срезы в Python

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