Курс 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. Работа с NumPy массивами
  2. Модуль itertools: комбинации и перестановки
  3. Создание функций высшего порядка
  4. Фильтрация списка чисел
  5. Сравнение объектов в Python
  6. Получение комбинаций в Python
  7. Удаление специальных символов
  8. Установка и обучение ChatterBot
  9. Удаление файлов с shutil.os.remove()
  10. Выборка чисел
  11. Назначение максимального и минимального значения переменной в Python.
  12. Отслеживание прогресса с tqdm
  13. Искажение имен в Python
  14. Профилирование данных с Pandas.
  15. Добавление цвета в консоли
  16. Использование метода lower()
  17. Создание списков в Python
  18. Обработка ошибки IndexError
  19. Объединение, распаковка и деструктуризация
  20. Просмотр атрибутов и методов класса
  21. Изменение списка срезами
  22. Функция print() — вывод информации
  23. Логические операторы в Python
  24. Переворот списка в Python
  25. Расширение информации об ошибке в Python
  26. Разделение списка на гнппы
  27. Очистка данных с Pandas
  28. Поиск подстроки в строке
  29. Работа с изменяемыми списками
  30. Метод __complex__ в Python
  31. Замена текста с помощью sub
  32. Разделение строк методом split()
  33. Создание новой даты в Python
  34. Создание .exe файла с pyinstaller
  35. Сортировка с помощью параметра key
  36. Метод append() для списка
  37. Работа с контекстным менеджером Pool
  38. Работа с итераторами в Python
  39. Namedtuple в Python
  40. Оператор «is not» в Python
  41. Генераторы в Python
  42. Оператор «and» в Python
  43. Парсинг статей с Newspaper3k
  44. Использование type hints
  45. Сортировка HTML-элементов
  46. Метод pop() списка
  47. Python и Монти Пайтон
  48. Создание словарей с defaultdict
  49. Извлечение аудио из видео

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