Курс 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. Поиск уникальных и повторяющихся элементов
  3. TON Smart Challenge #2: участие и подготовка
  4. Метод __ixor__ для побитового исключающего ИЛИ
  5. Декоратор @override
  6. Работа с файлами в Python
  7. Логирование с Logzero
  8. Атрибуты класса и экземпляра
  9. Проблемы с именами переменных
  10. Обмен переменными в Jupyter
  11. Оператор in для Python
  12. Логирование с Loguru
  13. Работа с YAML в Python
  14. Извлечение аудио из видео
  15. Подробная информация о %pinfo
  16. Установка и использование pyshorteners
  17. Генерация тестовых данных с factory_boy
  18. Метод join() для объединения строк
  19. Установка Python — Простое руководство
  20. Создание объекта времени
  21. Открытие и редактирование скриптов Python
  22. Ускорение выполнения кода в Python
  23. Поиск самого длинного слова в списке с использованием max()
  24. Измерение времени выполнения в Python
  25. Удаление пробелов методом translate()
  26. Модуль array: создание и использование массивов
  27. Python и Юникод: работа с цифрами
  28. Метод ipow для возведения в степень
  29. Работа с набором данных CIFAR10 в PyTorch
  30. Управление экспортом элементов
  31. Измерение времени выполнения кода с использованием time
  32. Перемещение и удаление файлов в Python
  33. Хранение переменных в Python.
  34. F-строки в Python
  35. Добавление цвета в консоли
  36. Декораторы в Python
  37. Создание новых списков в Python
  38. Работа с итераторами через срезы
  39. Python reversed() функция
  40. Применение функций в Python
  41. Реализация операции -= для пользовательского класса
  42. Работа с Requests для HTTP-запросов
  43. Логирование в Python
  44. Функция sleep() в Python
  45. Векторизация в Python с NumPy.
  46. Выражения-генераторы в Python
  47. Проверка надежности пароля на Python

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