Курс 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. Курс Data Scientist в медицине
  2. Сортировка в Python
  3. Сравнение строк в Python
  4. Получение списка кортежей из словаря
  5. Создание треугольника Паскаля
  6. Лямбда-функции в Python
  7. Математические функции в Python
  8. Работа с географическими данными в Python
  9. Python groupby() из itertools: работа с повторяющимися элементами
  10. Фильтрация последовательности
  11. Аннотации типов в Python
  12. Проверка типов с помощью isinstance
  13. Транспонирование матрицы
  14. Библиотека schedule: планировщик задач
  15. Конкатенация строковых литералов
  16. Названия переменных
  17. Работа с модулем random
  18. Возврат нескольких значений из функции
  19. Списки в Python
  20. Обработка ошибок ввода данных
  21. Хранение переменных в словаре.
  22. Отладка регулярных выражений в Python
  23. Декораторы в Python
  24. Очистка входных данных
  25. Отправка POST запроса на сервер.
  26. Генерация QR-кодов с библиотекой qrcode
  27. Именованные аргументы в Python
  28. Сортировка списка по индексам
  29. Реверс строки в Python
  30. Генерация случайных данных в NumPy
  31. Отображение графиков в Jupyter с Matplotlib
  32. Капитализация строк
  33. Работа со строками в Python
  34. GitHub в Telegram: подписка на уведомления
  35. Форматирование вывода списков
  36. Иерархия классов в Python
  37. Работа с байтовыми строками в Python
  38. Создание новых списков в Python
  39. Оператор in для проверки наличия элемента
  40. Форматирование строк с помощью f-строк
  41. Именованные кортежи в Python
  42. Избегайте использования goto
  43. Работа с YAML в Python
  44. Группировка элементов Python
  45. Python: Фильтрация списков с помощью filter()
  46. Лямбда-функции в Python
  47. Генератор списка с условием if
  48. Работа с массивами в Numpy

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