Курс 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. Генерация чисел с range()
  2. Округление дробей в Python
  3. Работа с Path в Python
  4. Методы сравнения множеств
  5. Склеивание строк без циклов
  6. Таймер обратного отсчета
  7. Метод rmatmul для пользовательских матриц
  8. split() — разделение строки
  9. Очистка вывода в Python
  10. Копирование объектов в Python
  11. Установка виртуального окружения Python
  12. Вставка переменных в шаблоны Flask
  13. Создание инструмента обнаружения плагиата
  14. Вывод баннеров
  15. Конвертация коллекций в Python
  16. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  17. Замыкания в Python
  18. Progress с библиотекой tqdm
  19. Оператор continue в Python
  20. Структура данных словарь в Python
  21. Динамические маршруты во Flask
  22. Извлечение новостей с помощью newspaper3k
  23. Преобразование Excel в PDF с Spire.XLS
  24. Метод ior для битовых операций
  25. Библиотека Chartify: руководство
  26. Расчет времени выполнения кода
  27. Поиск уникальных элементов строкой в Python
  28. Присвоение и ссылки
  29. Работа с модулем Calendar
  30. Обработка ошибок в Python
  31. Итерации в Python
  32. Обезопасьте ввод данных
  33. Декораторы в Python
  34. Настройка вывода в Numpy
  35. Функция zip() — объединение последовательностей
  36. Оператор is в Python
  37. Оператор @ для умножения матриц
  38. Метод remove() для удаления элемента из списка
  39. Генерация UUID в Python
  40. Методы и функции в Python
  41. Область видимости переменных
  42. Поиск шаблона в начале строки
  43. Операторы сравнения в Python
  44. Работа с YAML в Python: PyYAML.
  45. Установка и использование библиотеки google
  46. Использование метода lower()
  47. Работа с zip-архивами в Python
  48. Разделение строки с помощью split()
  49. Участие в LP стейкинге Waves

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