Топ 5 декораторов Python

Топ 5 декораторов Python

Python и 1000 программ

Декораторы Python - Пожалуй самые простые, но и самые полезные в работе функции.

В этой статье мы рассмотрим десять лучших декораторов, которые вам могут пригодиться во время кодинга. Некоторые из них изменяют парадигму языка, помогая вывести код на новый уровень.

Celery

Начнем мы топ с Celery - по своему роду это диспетчер задач языка. Он может отслеживать очереди задач, которые должны исполняться множественными компьютерами или потоками. Слово "Очередь" всешжа ассоциируется с принципом FIFO(First in - first out)


Единственная трудность с этим декоратором - это сложность демонстрации. Эта проблема решается, если конечно у вас есть под рукой рабочий сервер, с которым библиотека могла бы взаимодействовать. К сожалению не многие могут его позволить. Базовый пример создания задачи прямо из документации

Вы можете просто создать класс Celery, далее использовать декораторы, чтобы поставить задачу в очередь. Затем доступные серверы от брокера заберут задачу на себя

Click

Данная функция помогает разработчику создавать интерфейс командной строки или CLI. Плюсом является то, что он предоставляет аргументом командной строки Python. Далее приведен пример, который будет приветствовать кого-то после синтаксического анализа его имени как CLI:

Click во многом работает как код bash вместе с вашим Python. Также код может работать не только с Unix подобными ОС, что является плюсом.

Deprecated

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

При попытке вызова функции, мы получим предупреждение об устаревании

deco: concurrent

Модуль параллельных вычислений для Python, очень схожий с модулем "Numba", но в отличие от последнего допускает синхронные и параллельные процессы.


Здесь мы рассмотрим декоратор concurrent.

Этот параметр использует multiprocessing.pool для одновременного выполнения операций. Далее это используется с другим декоратором для запуска функции внутри потока в фоновом режиме. Ниже будет рассмотрен пример с макаронами и скалкой:

cachetools

cachetools - Данный декоратор позволяют улучшить работу с Python


Хорошо прописанный сценарий кода это конечно хорошо, но и не стоит забывать о производительности кода. С этим хорошо справляется декоратор, позволяющий увеличить производительность кода. Данные декоратор называется cashed.


Данный декоратор может с легкостью принимать различные аргументы различных типов, используемого кеша и размера кешей.


Все это на пригодится для примерного бизнеса по производству Linguine и Pizza. Эта функция предназначена для хранения предыдущих расчетов для будущих вызовов.

Если вы не хотите чтобы в вашем приложение кэш перезаписывался, можете пользоваться TTLCache. Данные кэш исчезает спустя 10 минут и не перезаписывается

Report Page