Курс 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. Оператор «and» в Python
  3. Переименование файлов в Python
  4. Поиск подстроки в строке
  5. Сравнение строк в Python
  6. Обработка ошибок в Python
  7. Цикл for в Python
  8. Создание словарей с defaultdict
  9. Python: отличительная особенность — отступы
  10. Декораторы в Python
  11. Проекты на Python
  12. Создание копии итератора
  13. Удаление символов новой строки в Python.
  14. Переворот строки
  15. Метод difference_update() — разность множеств
  16. Преобразование строк в числа в Python
  17. Функция product() в Python
  18. Объединение кортежей в Python
  19. Оптимизация памяти в Python
  20. Возврат нескольких значений из функции
  21. Асинхронное программирование с asyncio
  22. Проверка на истинность объектов в Python
  23. Деление в Python
  24. Официальный канал Python в Telegram
  25. Руководство по Pymorphy2
  26. Конкатенация строк в Python
  27. Работа с кортежами
  28. Обновление ключей в Python
  29. Метод gt в Python
  30. Функции с дополнением
  31. Экспорт функций в Python
  32. Блок else в циклах Python
  33. Удаление элементов из списка
  34. JMESPath в Python
  35. Преобразование данных в Python
  36. Класс-оболочка для словарей
  37. Изменение объектов в Python
  38. Установка и использование pyshorteners
  39. Копирование словарей и списков в Python
  40. Инверсия списка/строки в Python
  41. Множественное наследование в Python
  42. Объединение списков в строку
  43. Перебор элементов списка в Python
  44. Получение ID процесса
  45. Методы split() и join() — Python строк.
  46. Библиотека Rich: форматирование текста
  47. Метод join() для объединения элементов
  48. Фильтрация списка от «ложных» значений

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