Курс 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. Изменение элемента списка
  2. Функции высшего порядка в Python
  3. Добавление Progressbar в Python
  4. Получение срезов итераторов
  5. Проверка версии Python
  6. Декораторы в Python
  7. Переопределение метода delitem в Python
  8. Метод join() для объединения элементов строки
  9. Документация функции help() в Python
  10. Ключевое слово global в Python
  11. Использование метода lower()
  12. Генераторы в Python
  13. Управление виртуальными средами в Python
  14. Настройка вывода NumPy
  15. Управление браузером с Selenium
  16. Генераторные функции в Python
  17. Метод rmatmul для обратного матричного умножения
  18. Работа с файлами в Python
  19. Проверка типа объекта в Python
  20. Создание OrderedDict
  21. Методы работы со строками в Python
  22. Символ подчеркивания в Python
  23. Метод setdefault() в Python
  24. Потоковый ввод в Python
  25. Философия Python
  26. Отладка кода
  27. Открытие, чтение и закрытие файла
  28. Функция pow() — возвести число в степень
  29. Конвертация изображений в PDF
  30. Переменные в Python: сокращение гласных
  31. Оператор assert в Python
  32. Сортировка HTML-элементов
  33. Транспонирование 2D-массива с помощью zip
  34. Импорт объектов из модулей
  35. Удаление дубликатов из списка с помощью dict.fromkeys
  36. Работа с PosixPath() в Python
  37. Codecademy в Telegram
  38. Метод __float__ в Python
  39. Функции all и any в Python
  40. Быстрый поиск кода
  41. Команда %dhist — список посещенных каталогов
  42. Enum в Python
  43. Модуль subprocess: запуск внешних команд
  44. Библиотека sh: использование команд bash в Python
  45. Работа с геоданными с помощью geopy

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