Курс Python → Декораторы в Python

Декораторы в Python — это мощный инструмент, который позволяет изменять поведение функций без изменения их кода. Они позволяют добавлять дополнительную функциональность к существующим функциям, не изменяя их исходный код. Декораторы могут использоваться для различных целей, таких как логирование, кэширование, проверка аргументов и многое другое.

Для создания декоратора в Python необходимо определить функцию, которая будет являться декоратором, и применить специальный синтаксис перед определением функции, которую вы хотите декорировать. Например, если вы хотите создать декоратор для вывода времени выполнения функции, вы можете написать следующий код:


import time

def timer(func):
    def wrapper(*args, **kwargs):
        start_time = time.time()
        result = func(*args, **kwargs)
        end_time = time.time()
        print(f"Time taken: {end_time - start_time} seconds")
        return result
    return wrapper

@timer
def some_function():
    # Код функции

В этом примере декоратор timer измеряет время выполнения функции some_function и выводит его на экран. Декоратор принимает функцию в качестве аргумента, создает внутреннюю функцию-обертку, которая заменяет вызываемую функцию и возвращает результат выполнения исходной функции.

Использование декораторов позволяет улучшить читаемость кода, избежать дублирования кода и повысить переиспользуемость функций. Они являются важной частью парадигмы программирования в Python и позволяют значительно упростить написание и поддержку кода.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Импорт и использование модулей в Python
  2. Определение объема памяти объекта
  3. Проверка строки на палиндром
  4. Декораторы в Python
  5. Перегрузка операторов в Python
  6. Разделение строк в Python
  7. Управление асинхронными задачами на Python.
  8. Получение имени функции с помощью inspect
  9. Использование двоеточия в Python
  10. Получение ID процесса
  11. Необязательные аргументы в Python
  12. Сохранение и загрузка модели в PyTorch
  13. Функция count() в Python
  14. Множественное наследование в Python
  15. Генератор данных в Keras
  16. Concrete Paths — метод .with_suffix()
  17. Поиск файлов по шаблону
  18. Замена переменных в Python
  19. Управление ресурсами с контекстными менеджерами
  20. Подсчет элементов в Python
  21. Лямбда-функции для min/max
  22. Ввод нескольких значений
  23. Обновление множества в Python
  24. Логический оператор «and» в Python
  25. Работа с аргументами командной строки в Python
  26. Оператор is в Python
  27. PrettyTable: создание таблицы
  28. Создание .exe файла с pyinstaller
  29. Отрицательные индексы списков
  30. Создание класса очереди
  31. Операторы присваивания в Python
  32. Проекты на Python
  33. Преобразование текста в нижний регистр
  34. Определение основы слова с showballstemmer
  35. Изменение элемента списка
  36. Переопределение метода xor в Python
  37. Работа с комплексными числами
  38. Создание уникального проекта
  39. Приоритет операций в Python
  40. Объединение словарей в Python
  41. Работа со случайными элементами
  42. Поиск индекса элемента
  43. Функция zip() в Python
  44. Модуль subprocess: запуск внешних команд
  45. Наиболее частотные элементы с помощью Counter
  46. Создание веб-приложения с Flask

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