Курс 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. Логирование с Logzero
  2. Проверка памяти объекта
  3. Применение промокода в Много лосося
  4. Нахождение максимального значения и его индекса в списке
  5. Игра «Камень, ножницы, бумага» — Python
  6. Сортировка HTML-элементов
  7. Работа со строками в Python
  8. Правила именования переменных
  9. Любовь к Python
  10. Работа с YAML в Python: PyYAML.
  11. Работа с CSV файлами в Python
  12. Удаление символа из строки
  13. Python reversed() vs срез[::-1]
  14. Сериализация данных в JSON с помощью json.dumps
  15. Работа со словарями с defaultdict из collections
  16. Особенности множеств в Python
  17. История Python
  18. Оператор «not» в Python
  19. Функциональное программирование в Python
  20. Lambda Functions in Python
  21. Проверка подстроки в строке
  22. Создание OrderedDict
  23. Метод join() для объединения строк
  24. Ограничение итераций в Python
  25. Добавление вложенных списков
  26. Удаление символов новой строки в Python.
  27. Запуск асинхронной корутины
  28. Вычисление разности множеств в Python
  29. Операции с кортежами
  30. Pillow: работа с изображениями
  31. Проверка на истинность объектов в Python
  32. Создание таблиц в терминале с PrettyTable
  33. Классы данных в Python
  34. Удаление файлов в Python
  35. Циклы в Python
  36. Экспорт данных в файл.
  37. Генераторы в Python
  38. Возвращение нескольких значений через кортеж или класс
  39. Обработка исключения UnboundLocalError
  40. Объединение словарей в Python
  41. GitHub в Telegram: подписка на уведомления
  42. Команда %dhist — список посещенных каталогов
  43. Преобразование Word в PDF с Spire.Doc
  44. Тайное преобразование типа ключа
  45. Нахождение хеша для бесконечности и NaN в Python
  46. Именованные аргументы в Python
  47. Форматирование строк в Python

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