Курс 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. Просмотр атрибутов и методов класса
  4. Библиотека itertools: объединение списков
  5. Глобальные переменные в Python
  6. Модуль subprocess: запуск внешних команд
  7. Проверка ввода с помощью isdigit
  8. capitalize() — изменение регистра первого символа строки
  9. Обход дочерних элементов BeautifulSoup
  10. Объединение списков в Python
  11. Работа с GitHub в Telegram
  12. Замена текста с помощью sub
  13. Объединение списков в Python.
  14. Построение графиков в терминале с bashplotlib
  15. Профилирование кода
  16. Использование функции enumerate()
  17. Векторизация в Python с NumPy.
  18. Сортировка с помощью key
  19. Метод __iand__ для пользовательских классов
  20. Переопределение метода
  21. Профилирование с Pandas
  22. Форматирование строк в Python.
  23. Создание графики с черепахой
  24. Работа со случайными элементами
  25. Операции с датами в Python
  26. Создание коллекций из генератора
  27. Работа со строками
  28. Определение функций с необязательными аргументами
  29. Проектирование Singleton с метаклассом
  30. Сериализация данных в JSON с помощью json.dumps
  31. Декораторы в Python
  32. Извлечение новостей с помощью newspaper3k
  33. Транспонирование матрицы
  34. Изучение объектов с помощью dir()
  35. Работа с срезами в Python
  36. Список переменных с %who
  37. Форматирование заголовков в Python
  38. Colorama: окрашивание текста в Python
  39. Новшества Flask 2.0
  40. Python Тесты и Гайды
  41. Вывод символов строки в Python
  42. Базовые объекты Python
  43. Тайное преобразование типа ключа
  44. Работа со строками в Python.
  45. Фильтрация списка от «ложных» значений
  46. Оптимизация создания строк

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