Бизнес задачи на python

Возможности Python обширны: от веб-разработки до разработки машинного обучения, систем распознавания лиц и текста. Поговорим о Python для бизнеса и рассмотрим кейсы kt.team.

1. Преимущества разработки на Python для бизнеса

2. Недостатки Python

3. Бизнес-задачи, которые решает разработка на Python

4. Кейс: разработка международной платформы для хакатона на Python

5. Где ещё используется Python

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

Разобраться в этом вопросе нам помогут:

  • Егор, старший инженер-программист;
  • Антон, тимлид, партнёр компании;
  • Антон, руководитель проектов, исполнительный директор, партнёр компании.

Преимущества разработки на Python для бизнеса

Ускоренная разработка MVP

Разбор тестового задания на PYTHON JUNIOR с окладом 80000 рублей

С развитием гибких подходов и философии Agile циклы разработки становятся всё короче. Software-инженерам не нужно годами писать проекты «в стол», сверяясь с техническим заданием на тысячу страниц. Разработка начинается с создания MVP. В приоритете — за один-два месяца выпустить на рынок минимально жизнеспособную версию продукта и получить обратную связь от реальных пользователей (подробнее о разработке MVP можно прочитать в нашей статье в блоге: «MVP, или как не попасть в бесконечную разработку»).

Для быстрой разработки MVP отлично подходит Python. Секрет скорости — в синтаксисе, максимально приближённом к естественному английскому языку.

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

Нюанс: такая высокая скорость поддерживается при относительно невысокой сложности проекта (малая и средняя e-Commerce, CRM, несложные интеграции).

Если же разработка ведётся для enterprise-проектов, то все работы занимают примерно одинаковое время независимо от используемого стека технологий. Писать на Java, PHP или Python — неважно, ведь общее количество часов не будет значительно отличаться.

При этом время может по-разному распределяться на разные типы работ. С каким-то стеком больше времени потребуется на рефакторинг, с другим — на MVP, c третьим — на тесты и т. д. Например, чтобы быстро работать на Python, нужно предварительно продумать архитектуру и правильно подготовить окружение. К тому же нельзя судить о сложности работы по количеству строк кода и скорости его написания. Минимальное количество кода означает его высокое качество, а чтобы разработчик мог уложить задачу в три строки, он должен тщательно продумать, как это сделать, в какой части программы разместить код и т. д.

Читайте также:  Бизнес как основа развития экономики

Какие вещи реально пишут на Python?

Лёгкая интеграция с другими технологиями и программным обеспечением

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

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

Бизнес-задачи, которые решает разработка на Python

Типичные задачи на разработку, которые успешно решаются на Python:

  • корпоративный сайт (каталог, интернет-магазин);
  • системы для корпоративного обучения и проведения хакатонов;
  • системы распознавания образов (фотографий, изображений, лиц);
  • системы распознавания документов (OCR, машинное зрение);
  • управление сервисами печати со сложными маршрутами;
  • асинхронные модули для существующих систем (транспортные модули, платёжные шлюзы).

Сегодня один из трендов в разработке на Python — его использование для написания микросервисов. Микросервисы, в разработке которых чаще всего применяют Python:

  • для машинного обучения (да, такие возможности есть и у R, и у Scala, но именно Python считается общепринятым стандартом большого комьюнити в этом вопросе);
  • для обработки объектов с запросом и ответом (request
  • все должны пройти онлайн-регистрацию;
  • можно создать свою команду, вступить в чужую или участвовать в одиночку;
  • проверка правильности ответов должна быть автоматической.

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

Для решения этой задачи мы использовали SPA (сокр. от англ. single page application — одностраничное приложение.) (Vue.js + Nuxt.js) + Django (это фреймворк Python). SPA общается с backend’ом через API.


Почему именно Python?


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

Читайте также:  Владелец гостиничного бизнеса это

Все сущности можно создать и описать очень быстро и мгновенно получить доступ к данным через API.

В результате нам удалось разработать готовую к высоким нагрузкам платформу с нужным функционалом для проведения хакатона. Система поддерживает определённый свод правил. Есть админ-панель с отображением результатов, выгрузкой статистики и прочих данных.

Где ещё используется Python

Можно сказать, что Python сейчас «в моде» (хотя поклонники Go или Dart могут поспорить), и многие разработчики с удовольствием пишут на нём.

Расскажем об интересном примере, как наши коллеги из frontend’а попробовали писать на Python.

Недавно к нам пришёл заказчик, backend на проекте которого написан на PHP. Стояла задача — переделать его на Django. Чтобы состыковать back и front, frontend-разработчики за два дня изучили синтаксис Python, за третий день — документацию Django, а на четвёртый влюбились в Python и теперь не хотят возвращаться во frontend. Очень жалеют, что Python подходит только для backend-разработки.

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

Системные администраторы могут автоматизировать процессы, используя Python вместе с Bash. Например, в сложных конструкциях, если нужно сделать скрипты на серверах, которые будут опрашивать части системы, проверять, всё ли в порядке (проводить health check).

Бизнес-аналитики часто приходят в Python, изучив стек анализа данных (pandas, Matplotlib, Jupyter). Это специфическое решение для сложных агрегаций, которое позволяет делать продвинутые дашборды, вычислять и визуализировать множество важных показателей.

Выводы

Python идеально подходит для проектов в сфере CV https://kt-team.ru/blog/python» target=»_blank»]kt-team.ru[/mask_link]

Прибыль

Представьте, что вы имеете небольшое производство. Вам нужно посчитать, какую прибыль вы получите после продажи своей продукции.

У вас есть словарь, содержащий себестоимость единицы товара ( cost_price , в долларах), продажную цену ( sell_price , в долларах) и начальное количество товара ( inventory , в штуках). Верните прибыль, округлив сумму до ближайшего целого числа.

  • Подсчитываем потенциальную прибыль от продажи всего товара
  • Прибыль = продажная цена — себестоимость

Примеры

profit(< «cost_price»: 32.67, «sell_price»: 45.00, «inventory»: 1200 >) ➞ 14796 profit(< «cost_price»: 225.89, «sell_price»: 550.00, «inventory»: 100 >) ➞ 32411 profit(< «cost_price»: 2.77, «sell_price»: 7.95, «inventory»: 8500 >) ➞ 44030

Читайте также:  Как рассчитать косвенные налоги на бизнес

Варианты решения

def profit(info): [a, b, c] = info.values() return round((b — a) * c)
def profit(info): return round((info[«inventory»]) * (info[«sell_price»] — info[«cost_price»]))

Источник: pythonist.ru

Решение экономических задач с Python

Язык программирования Python, являясь основным инструментом научных вычислений, находит все большее применение в экономике. Так, целый пласт задач, связанных с максимизацией выручки или минимизацией затрат, можно решить с помощью методов линейного программирования, реализованных на Python. Для этого требуется только четко поставить задачу и без ошибок задать необходимые параметры специальной функции (например, linprog из модуля scipy.optimize ).

Общий вид задач линейного программирования следующий:

Например, пусть перед нами стоит задача вида:

“На площади 100 га высаживаются три культуры: пшеница, кукуруза и бобы. Выращивание пшеницы позволяет получать прибыль (в расчете на 1 га) в размере 90 тыс. ден.ед., кукурузы – 100 тыс. ден.ед., бобов – 200 тыс. ден.ед. Затраты трудовых и материальных ресурсов приведены в таблице. Определить оптимальное сочетание посевов этих культур, чтобы получить максимальную прибыль”.

Здесь через три переменные (v1,v2,v3) заданы искомые площади пшеницы, кукурузы и бобов.

Максимальная выручка получилась 3333,3 тыс. ден.ед. При этом целесообразно выращивание только бобов на площади 1,66 га. В то же время исчерпаны трудовые ресурсы, не использованы 83,33 га земель и материальных ресурсов — 2000 тыс. ден.ед. (код реализации задачи смотри здесь )

Из анализа видно, что такие простые результаты получились из-за быстрого исчерпания трудовых ресурсов. Увеличим их до 50000, остальные данные оставив прежними. Теперь, нам удалось довести выручку до 10 тыс. ден.ед., при использовании 37,4 га под кукурузу и 31,3 га под бобы. Неиспользованные ресурсы — 31,3 га пашни и 4325 чел./час., материальные ресурсы израсходованы полностью.

Таким образом, с помощью автоматизированных инструментов, как Python, можно решать задачи оптимизации распределения ресурсов и на основе полученных данных принимать решения какие направления подлежат корректировке (например, в первом случае не хватало трудовых ресурсов для использования всех возможностей земель).

Источник: dzen.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
Бизнес для женщин