Курс 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. Особенности ключей словаря в Python
  4. Аннотации типов в Python
  5. Использование defaultdict в Python
  6. Проверка кортежей.
  7. Метод Self в Python
  8. Установка и использование Python-dateutil
  9. Получение срезов итераторов
  10. Работа с кортежами в Python
  11. Установка и загрузка Instaloader
  12. Функция reversed() в Python
  13. Использование type hints
  14. Переопределение оператора % для объектов
  15. Округление дробей в Python
  16. Многоточие в Python
  17. Работа со временем в Python
  18. Конвертация текстовых чисел с помощью Numerizer
  19. Конкатенация строковых литералов
  20. Профилирование данных с Pandas.
  21. Конкатенация строк с join() в Python
  22. Добавление элементов в список: append() vs extend()
  23. Определение относительного пути
  24. Декораторы в Python
  25. Создание словаря и множества
  26. Скачать видео с YouTube
  27. Создание новых списков в Python
  28. Исключение NotImplementedError
  29. Парсинг веб-страниц с Beautiful Soup
  30. Работа с CSV файлами в Python
  31. Модуль antigravity: генерация координат
  32. Создание новых списков через list comprehensions
  33. Работа с NumPy массивами
  34. Работа с argparse
  35. Работа с Requests для HTTP-запросов
  36. Операции с массивами в NumPy
  37. Генераторы и сеты в Python
  38. Работа с дробями в Python
  39. Оператор in и not in в Python
  40. Модуль math: константы π и e
  41. Colorama: окрашивание текста в Python
  42. Заказ карты Тинькофф Black
  43. Генерация случайных чисел в Python
  44. Функции map, filter и reduce
  45. Нахождение отличий в списках
  46. Нан-рефлексивность в Python

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