Курс 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. Функция rsplit() в Python
  2. Подсчет количества элементов в списке
  3. Переименование файлов в Python
  4. Обработка ошибки IndexError
  5. Установка виртуального окружения Python
  6. Использование модуля __future__
  7. Подписка на SelectelNews в Twitter
  8. ChainMap.new_child() — добавление нового словаря
  9. Проверка типов с использованием isinstance
  10. Генератор чисел Фибоначчи
  11. Преобразование списка в словарь через генератор
  12. Преобразование числа в восьмеричную строку
  13. Генератор списка в Python
  14. Python UserString — создание подклассов строк
  15. Генерация UUID в Python
  16. Замена текста с помощью sub
  17. Выбор редактора кода.
  18. Работа с датами в Python
  19. Использование метода lower()
  20. Работа с буфером обмена на Python
  21. Асинхронный код в Python
  22. Участие в сообществе @selectel
  23. Итерации в Python
  24. Вложенные функции в Python
  25. Фильтрация данных в Python.
  26. Удаление элемента по индексу в Python
  27. Замеры производительности в Python
  28. Перетасовка списков в Python
  29. Символ подчеркивания в Python
  30. Выход из профиля в Django
  31. Избегайте использования goto
  32. Конкатенация строк с помощью join()
  33. Функция enumerate() в Python
  34. Поиск простых чисел
  35. Вложенные циклы в Python
  36. Открытие, чтение и закрытие файла
  37. Оптимизация гиперпараметров в Python
  38. Обезопасьте ввод данных
  39. Сравнение def и lambda функций в Python
  40. Создание пользовательской коллекции в Python
  41. Классы данных в Python
  42. Модуль pprint
  43. Генераторы в Python
  44. Строки в Python: апострофы и кавычки
  45. Повторение элементов списков
  46. Генерация чисел с range()
  47. Оператор * в Python

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