Найти тему
Games & Programming

Для чего хорош Python?

Python хорош для всего, что хочется сделать быстро, но чтобы при этом всё нормально работало.

Почему?

Одноразовые скрипты

Самое простое, но распространённое применение — одноразовые скрипты для манипуляций с данными, конвертеры и прочие такие вещи. Да, не самый крутой софт в мире, но мелкие задачи типа «прочитать 200 Мб данных, отфильтровать записи и залить их в базу данных, а заодно посчитать базовую статистику и нарисовать график» или «отфильтровать файлы логов по дате создания, не соответствующие маске удалить, а все старше часа заархивировать» возникают регулярно.

Прототипы

Cкорость и удобство разработки позволяют делать прототипы: например бот для ВКонтакте (автопостинг, удаление комментариев по блэклисту, отрисовка статистики сообщества прямо на аватарке) делается за час от поиска «VK API library python» до рабочего продукта. Начать писать такие мелочи можно буквально после пары уроков.

Бэкенд

При этом язык позволяет браться и за достаточно сложные проекты. На Python (Django, Flask и прочие фреймворки) пишется веб-бэкенд. Это уже не про мелкие скрипты, а про коммерческую разработку и большие проекты с командами. Ну и про трудоустройство, да. Python-бэкендщик с опытом Django/Flask без работы точно не останется. К тому же нативно поддерживается асинхронное программирование и есть быстрые асинхронные веб-фреймворки, такие как AIOHTTP или Sanic.

Data Science и машинное обучение

И, наконец, всякие хайповые штуки про data science и машинное обучение. Если заниматься машинным обучением всерьёз — то надо учить скорее математику, а не программирование, но поиграться с небольшой нейросеткой или собрать статистику своего паблика вполне можно по материалам из интернета. Первичный анализ данных в pandas, вычисления в NumPy/SciPy, машинное обучение в sklearn, нейросети в TensorFlow или PyTorch.

Если получится и захочется делать что-то более сложное — то почему нет, профессионалы в тех же самых библиотеках работают. Для перемалывания данных в промышленных масштабах существуют вещи вроде PySpark, позволяющие управлять распределёнными вычислениями на кластерах.

Data engineering

Отдельно стоит упомянуть data engineering, то есть промышленный подход к data science: не когда дата саентист на коленке набросал решение конкретной задачи, а когда опытный программист взял и превратил это в регулярный процесс поставки данных. Тут всё так же: легко писать скрипты и есть библиотеки для связывания буквально с любым Big Data инструментом — этого достаточно.