Курс 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. Разработка Telegram-ботов
  3. Многоточие в Python
  4. Подписка на каналы разработчиков
  5. Считывание бинарного файла в Python
  6. lru_cache оптимизация функций
  7. Метод add для класса Vector
  8. Оператор += для объединения строк
  9. Создание списков в Python
  10. Курс Data Scientist в медицине
  11. Декоратор Ajax required
  12. Перегрузка операторов в Python
  13. Оператор is в Python
  14. Python Calendar Usage
  15. Retrying в Python: повторные вызовы
  16. Очистка вывода в Python
  17. Порядок и длина множеств в Python
  18. Проверка типов с использованием isinstance
  19. Работа со строками в Python.
  20. Получение ID текущего процесса
  21. Методы shutil для работы с файлами
  22. Удаление и повторная вставка ключа в OrderedDict
  23. Возврат нескольких значений
  24. Работа с JSON данными в Python
  25. Создание словаря с значением по умолчанию
  26. Пустой оператор pass в Python
  27. Реализация операции -= для пользовательского класса
  28. Распаковка с оператором *
  29. Оператор in для Python
  30. Работа с классами данных
  31. Переопределение метода __lshift__
  32. Оператор match в Python
  33. Разделение списка на гнппы
  34. Типы возвращаемых значений в Python
  35. Переворот списка в Python
  36. Метод __complex__ в Python
  37. Преобразование числа в восьмеричную строку
  38. Импорт модулей и пакетов в Python
  39. Философия Python
  40. ChainMap.new_child() — добавление нового словаря
  41. Использование подчеркивания в REPL
  42. Декодирование байтов в строку
  43. Работа со словарями
  44. Сравнение строк в Python
  45. Применение функции к каждому элементу списка

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