Python что можно на нем написать
Популярные проекты на Python
Python входит в 5-ку самых популярных языков программирования. Он используется в самых разных областях IT, таких, как веб-разработка, машинное обучение, создание приложений и даже геймдев.
Где применяется Python
Python используется в разных областях программирования не просто так. Он прост в изучении, имеет приятный синтаксис и обладает достаточным для решения любых задач набором инструментов.
И хотя он не может потеснить Java и PHP с ведущих мест в веб-разработке, в сфере машинного обучения Python – язык номер один.
Создание приложений
Python можно использовать для разработки десктопных и мобильных приложений, для этого разработано много мощных инструментов. Однако крупные проекты зачастую не пишут только на одном Python полностью.
Python часто используется для разработки отдельных частей приложения, он позволяет создать простую систему моддинга. Благодаря высокой степени модульности, изменение одной части программы может не затрагивать другую.
Возможность встроить в Python код на С/C++ сглаживает проблему низкой скорости работы программ.
Веб-разработка
Python захватил определенную часть сферы, но не может соперничать с такими гигантами, как PHP, Java и Node.js. Для реализации серверной логики они удобнее и мощнее Python.
На Python часто создаются решения, которые имеют узкую направленность. Например, отправку документа с сайта на принтер трудно реализовать на PHP, а Python легко справляется с этой задачей.
Python проигрывает, потому что он является языком общего назначения, PHP – это инструмент, заточенный только под веб-программирование, а Java уже давно используется в вебе.
Машинное обучение
Искусственный интеллект с каждым годом становится лучше, ученые одержимы идеей создать суперкомпьютер, превосходящий человека во всем.
Python стал абсолютным лидером в этой сфере по ряду причин:
Интересные проекты на Python
Разработок много, но не все из них можно назвать успешными, однако есть проекты, заслуживающие внимания. Рассмотрим примеры известных программ, игр и сайтов написанных на Python.
На Python написаны сотни арканоидов, платформеров и других маленьких проектов, но, чтобы оценить возможности языка, следует рассмотреть большие разработки.
Mount and Blade
Такой системы нет ни в одной игре. Стратегия, RPG и экшн — странная, но крутая смесь. Кроме того, на поле боя может быть несколько сотен воинов, управляемых компьютером, такой масштаб впечатляет.
Все скрипты написаны на Python. Игра отлично работает на слабых машинах. Особенность Python — возможность сделать проект модульным. Энтузиасты без проблем могут сделать дополнения для игры, изменить какую-то механику, текстуры и анимации, эти изменения никак не коснутся системных файлов игры.
Battlefield
Battlefield полюбили миллионы человек. Не стоит думать, что игра полностью написана на Python. Разработчики использовали его для создания некоторых скриптов, серверной части игры и её логики.
Игра вышла в 2005 году и имела подходящие для компьютеров того времени системные требования. Использование Python позволило ускорить разработку и не повлияло на производительностью
EVE Online
Как и в случае с Battlefield, в EVE Online Python использовался для создания игровой логики и управления серверной частью игры.
Разработчики использовали улучшенную версию интерпретатора, которая называется stackless python. Так как это ММО, сервер может обрабатывать миллионы запросов, и stackless python отлично справляется с этим.
Sims 4
Sims – это самый известный симулятор жизни.
Игра была на слуху около 4 лет, освещалась на различных событиях, занимала топы и, конечно, успешно продавалась. Чтобы дать игрокам больше контента и возможностей, разработчики использовали Python для реализации игрового моддинга, что позволило без проблем расширять игру с помощью дополнительного контента.
Civilization 4
Про цивилизацию слышал каждый геймер. Это глобальная пошаговая стратегия, сочетающая в себе дипломатию, развитие и войну.
Разработчики не ограничились использованием Python для реализации каких-то частей проекта, они написали на нём практически всю игру.
Программы
BitTorrent
Популярный торрент-клиент, которым пользуются миллионы людей, был полностью написан на Python.
Примечание: 6 версия программы была переписана на C++.
Blender
Это программа для работы с 3D графикой, способная соперничать с такими гигантами, как Maya и 3DMax.
Пользователь получает возможность создавать трехмерные модели, анимацию, а также видео и игры.
Главное преимущества программы заключается в том, что она распространяется бесплатно. Blender постоянно улучшается, дополняется с помощью различных расширений, получает все больше поддержки в виде видео-уроков и обучающих статей.
Python используется для создания логики, импорта и экспорта, автоматического выполнения задач и работы инструментов.
GIMP является редактором растровой графики и, частично, векторной графики.
Он является единственной достойной заменой Adobe Photoshop в системе Linux и установлен на большинстве дистрибутивов по умолчанию.
Python использовали для создания фильтров, дополнительных модулей, некоторых скриптов.
Программа, которая использует метод интервальных повторений, чтобы пользователь мог легко запомнить нужную информацию (новые слова, формулы, ответы на тесты и другое).
Calibre
Любимое приложение каждого, кто читает много книг.
Программа позволяет просматривать, конвертировать и редактировать книги различных форматов, кроме того она поддерживает прямую работу с различными электронными книгами.
Искусственный интеллект
Python — лидер в сфере машинного обучения. Он может быть как основным языком проекта, так и использоваться в отдельных модулях.
Наиболее популярными являются ИИ, работающие с фотографиями и видео (поиск по фото, редактирование видео и фото, сопоставление различных фото и так далее). Программисты даже могут научить компьютер определять эмоциональное состояние человека по фотографии, хотя есть еще некоторые проблемы, связанные с индивидуальными особенностями мимики разных людей.
Обилие библиотек позволяет без проблем создавать ИИ, способные ориентироваться в пространстве, принимать решения, выполнять задачи, недоступные человеку.
Одним из новейших искуственных интеллектов, написанных на Python, является AlphaStar – искусственный интеллект для Starcraft 2.
Разработчики использовали PySC2 — инструменты, написанные на Python специально для SC2.
Сложность заключается в том, что компьютеру нужно делать и оценивать много вещей: разведывать противника, определять его стратегию, подстраивать свою игру под неё, принимать оптимальные решения по передвижению армии и многое другое.
AlphaStar показал поразительные результаты, он обыграл одного из лучших игроков мира.
Сайты
Для работы с сайтами используют обычно фреймворк Django, превращающий Python в язык для веб-программирования.
Это самая популярная поисковая система в мире.
Каждый день через сервера Google проходит огромный объем трафика, который обрабатывается и направляется с помощью Python.
YouTube
Это сайт, где пользователи могут загружать и смотреть видеоролики.
Он известен каждому пользователю интернета и ежедневно собирает миллиарды просмотров.
Это самая популярная социальная сеть в мире, ежедневно пользователи загружаются миллионы картинок, меняют статусы, создаются посты — всё это обрабатывается с помощью инструментов языка Python.
Популярная социальная сеть, которая используется людьми, чтобы делится историями из жизни, фотографиями, мыслями и так далее.
Всё, что связано с картинками (поиск, постинг, просмотр) обрабатывается кодом на Python.
Потенциал Python в крупных проектах
Python часто используют для прототипирования программ, позже они переписываются на другие языки программирования. Это очень удобно, потому что разработка таких прототипов очень быстрая, также она помогает понять, как будет выглядеть программа. На другой язык проект переписывается из-за низкой скорости выполнения кода на Python.
Да, этот язык можно использовать во всех крупных проектах, как инструмент для создания прототипов, но как насчет применения в финальной версии?
Если не рассматривать машинное обучение, и брать программы, которым жизненно важна скорость выполнения, то вряд ли для Python найдется место. Однако часто практикуется гибрид разных языков, например, Python и C++. Такой подход позволяет достичь и высокой скорости разработки и высокой скорости выполнения программы. На Python пишется большая часть кода, а на C++ лишь те участки, которые сильно влияют на скорость выполнения (например, функция по обработке и передаче большого количества данных в единицу времени).
Что можно писать на Питоне: практическое применение Python, плюсы и минусы
То есть, изучив Python, потенциально вы сможете работать в компаниях с мировыми именами.
Для чего нужен Python
Отвечая на вопрос, для чего нужен Python, хочется сразу отметить, что это язык широкого назначения и у него нет специализированной сферы деятельности. Поэтому на Python в принципе можно написать что угодно.
Объектная ориентация. Это означает, что в нем вы можете создавать объекты и классы и проводить с ними любые операции. Но при этом Питону свойственно еще функциональное и императивное программирование.
Для чего используется Python: примеры
У каждого языка есть область деятельности, где язык программирования состоялся больше всего, для Питона это Data Science. В этой сфере есть много языков, которые можно использовать, но Python является несомненным лидером.
Основные примеры деятельности, для чего нужен Python:
искусственный интеллект и нейросети;
реализация интернета вещей;
обработка больших объемов данных;
разработка некоторых видеоигр;
Примеры практического применения Python:
В веб-разработке — это фреймворки Django, Flask, Pyramid, Pylons, CherryPy. А также движки для сайтов — Saleor, Wagtail, Django и др.
В мобильной разработке Питон применяется реже, однако замечен в написании сервера для Instagram.
Компьютерные игры: Wor l d of Tanks, Batt le field 2, EVE Online и др.
Встроенные системы: банкоматы российского Сбербанка, Ras p berry Pi, Embedded Python, на производственных станках и др.
Библиотеки для научного исследования: SciPy, NumPy, Matplot l ib и др.
Плюсы и минусы Python
И достоинств Питона можно отметить:
идеален для первого языка, так как имеет достаточно простые основы;
легкий в понимании синтаксис — его код легко читается и понимается;
широкая инфраструктура — есть большое количество разнообразных библиотек и фреймворков;
кроссплатформенный язык, который можно применять на любой операционной системе;
Из недостатков можно отметить:
не адаптирован для создания мобильных приложений;
из-за динамической типизации программы на Питоне требуют лучшего тестирования и большего количества тестов;
не работает с память ю на низком уровне;
Заключение
Вот и получается, что если вы хотите связать свою будущую профессию с машинным обучением, искусственным интеллектом или работой с данными, то Python — это лучший инструмент для достижения этой цели.
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
Топ-16 Python-приложений в реальном мире
Удовольствие от написания Python-кода заключается в возможности создавать короткие, лаконичные и читаемые классы, которые выражают большой объем логики в небольшом объеме кода, а не в сотнях строк, утомляющих читателя.
За последние несколько лет технологии вокруг нас поменялись почти во всех аспектах. Мы живем в мире, где во главе угла стоит программное обеспечение, а за почти любой службой стоит какая-нибудь строчка кода. Индустрия путешествий, банкинг, образование, исследования, военная сфера — лишь немногие из тех, кто полагается на ПО.
Любой софт написан на каком-то языке программирования. А число последних лишь растет.
Однако одним из самых популярных в мире на сегодня является Python. В этом материале рассмотрим примеры реальных приложений, работающих на этом языке.
Реальные приложения на Python
Python сильно поменялся с момента создания в 1991 году Гвино ван Россумом. Это динамический, интерпретируемый, высокоуровневый язык программирования, с помощью которого можно создать массу разнообразных приложений. У него плавная кривая обучения и понятный синтаксис.
С помощью Python делают веб-приложения, видеоигры, занимаются Data Science и машинным обучения, разрабатывают софт, работающий в реальном мире, а также встроенные приложения и многое другое.
1. Веб-разработка
Наверняка все разработчики знают, что такое веб-разработка. Это квинтэссенция применимости Python. Также этот язык выделяет широкое разнообразие фреймворков и систем управления контентом (CMS), которые упрощают жизнь разработчика. Среди самых популярных решений — Django, Flask, Pyramid и Bottle. Среди CMS выделяются Django CMS, Plone CMS и Wagtail.
Веб-разработка на Python дает такие преимущества, как повышенная безопасность, масштабируемость и удобство в процессе работы. Также язык из коробки поддерживает такие протоколы, как HTML, XML, email-протоколы, FTP. У Python одна из крупнейших коллекций библиотек, упрощающих и улучшающих жизнь разработчика.
Посмотреть список сайтов, которые использую python можно на https://trends.builtwith.com/framework/Python.
2. Разработка игр
По аналогии с веб-разработкой в Python есть масса инструментов и библиотек для разработки игр. Кстати, а вы знали, что на этом языке программирования была написала популярная некогда Battlefield 2?
Для разработки игр используются такие библиотеки, как PyGame, Pycap, Construct, Panda3D, PySoy и PyOpenGL.
Также с помощью Python были разработаны такие проекты, как Sims 4, World of Tanks, Civilization IV и EVE Online. Можно вспомнить еще Mount & Blade, Doki Doki Literature Club, Frets on Fire и Disney’s Toontown Online.
3. Искусственный интеллект и машинное обучение
По данным GitHub Python расположился на втором месте среди языков, используемых для машинного обучения.
Искусственный интеллект и машинное обучение — очень популярные темы сегодня. С помощью них мы сегодня принимаем очень много решений. Python отчасти повлиял на такой рост популярность отрасли.
Стабильность и безопасность языка сделали его идеальным для интенсивных вычислений, без которых AI и ML не обходятся. А широкая коллекция библиотек помогает при разработке моделей и алгоритмов. Вот самые популярные библиотеки:
4. Графический интерфейс для настольных приложений
Иногда можно обойтись и без полноценного интерфейса, но для большинства проектов сегодня важен GUI. И для них в Python тоже есть множество решений.
При этом доступный синтаксис и модульная структура позволяют создавать быстрые и отзывчивые интерфейсы, делая еще и сам процесс разработки приятным. Среди самых популярных библиотек и фреймоворков — PyQt, Tkinter, Python GTK+, wxWidgets и Kivy.
5. Обработка изображений
Благодаря росту популярности машинного обучения, глубокого обучения и нейронных сетей выросла и роль инструментов для (предварительной) обработки изображений. Python в полной мере удовлетворяет этот спрос.
Среди самых популярных инструментов в Python можно выделить OpenCV, Scikit-Image, Python Imaging Library (PIL). Среди известных приложений, использующих Python — GIMP, Corel PaintShop, Blender и Houdini.
6. Обработка текста
Обработка текста — чуть ли не самый распространенный сценарий использования Python. Она руку идет с NLP (обработкой естественного языка), но не будем погружаться в эту тему сейчас. Обработка текста позволяет обрабатывать большие объемы текста, предоставляя гибкость структуры. Можно запросто сортировать строки, извлекать определенный текст, форматировать абзацы и так далее.
7. Бизнес приложения
Бизнес приложения во многом отличаются от обычного потребительского ПО. Во-первых, они предлагают ограниченный набор функций вместо десяток или даже сотен возможностей. Во-вторых, у них есть конкретная целевая группа (чаще всего ею выступает определенная организация).
Python отлично подходит для разработки таких высоконагруженных приложений.
Еще одной важной составляющей любого приложения является безопасность. И хотя почти все программы создаются с прицелом на безопасность, возможности Python в этом плане очень важны для бизнес-решений. Также Python позволяет писать масштабируемый код.
8. Образовательные и тренировочные программы
Python — отличная точка входа для каждого, кто хочет познакомиться с миром современного программирования. Все благодаря максимально простому синтаксису языка, который очень напоминает английский. Также изучается Python быстрее других языков. Именно поэтому этот язык один из основных кандидатов на то, чтобы быть первым языком программирования.
Есть масса обучающих ресурсов для получения начальных знаний по Python, но среди самых популярных можно выделить Coursera, edX, Udemy, Python Institute и Harvard.
9. Аудио и видео приложения
Эффективность Python позволяет использовать его для аудио и видео приложений. Для этого есть масса инструментов и библиотек. Сигнальная обработка, управление аудио, распознавание звуков — все это доступно с помощью таких библиотек, как Pyo, pyAudioANalysis, Dejavu и других.
Для видео же есть Scikit-video, OpenCV и SciPy. С их помощью можно управлять видеороликами и готовить их к использованию в других приложениях. На Python написаны Spotify, Netflix и YouTube.
10. Парсинг
В интернете просто невероятные объемы информации. И с помощью веб-парсеров данные на сайтах можно собирать, сохраняя их в одном месте. После этого их могут использовать исследователи, аналитики или организации для самых разных задач.
На Python есть такие библиотеки, как PythonRequest, BeautifulSoup, MechanicalSoup, Selenium и другие. Парсеры используются для отслеживания цены, аналитики, анализа в социальных медиа, проектах машинного обучения и в любых других проектах, где есть большие объемы данных.
11. Data Science и визуализация данных
Данные играют ключевую роль в современном мире. Они помогают понимать людей, их вкусы, собирать и анализировать интересные наблюдения. Это все — важная часть Data Science. В этой области требуется определить проблему, собрать данные, обработать их, изучить, проанализировать и визуализировать.
В экосистеме Python есть такие решения, как TensorFlow, PyTorch, Pandas, Scikit-Learn, NumPy, SciPy и многие другие.
Визуализация важна, когда данные нужно преподнести команде или держателям акций. Для этого в Python есть Plotly, Matplotlib, Seaborn, Ggplot, Geoplotlib и другие.
12. Научные и математические приложения
Мы уже определили, что в Python есть библиотеки для научных и математических вычислений, включая AI, ML и Data Science. Но даже если не брать эти сферы, язык пригодится, например, для работы с высокоуровневыми математическими функциями.
Стоит отметить такие инструменты, как Pandas, IPython, SciPy, Numeric Python, Matplotlib и другие. С помощью Python созданы такие приложения, как FreeCAD и Abaqus.
13. Разработка программного обеспечения
Python подходит не только для веб-разработки, научной разработки, создания игр или встраиваемых систем. По большому счету, это универсальное решение для софта любого типа. Все это возможно благодаря тому, что Python обеспечивает высокую скорость исполнения, хорошую совместимость, отличную поддержку со стороны сообщества, а также огромное количество библиотек. С помощью Python были созданы Roundup, Buildbot, SCons, Mercurial, Orbiter и Allura.
Часто разработчики используют Python как вспомогательный язык для управления проектами, контроля сборок и тестирования.
14. Операционные системы
Операционные системы — мозг любого компьютера. На Python, например, работают ОС, построенные на базе Linux. Как минимум, отдельные части таких систем.
В качестве примеров можно вспомнить Ubiquity Installer от Ubuntu, Anaconda Installer от Red Hat Enterprise. Также язык использовался для создания Gentoo Linux и системы управления пакетами Portage в Google Chrome OS. Вообще комбинация Python и C дает огромные преимущества при проектировании и разработке операционных систем.
15. CAD-приложения
CAD (computer aided design) приложения преимущественно используются в автомобильной, аэрокосмической и архитектурной сферах. Они помогают инженерам и дизайнерам проектировать продукты с точностью до миллиметров.
В среде Python из таких приложений есть FreeCAD, Fandango, PythonCAD, Blender и Vintech RCAM. Они предоставляют такие функции, как макрозапись, верстаки, симуляция роботов, скетчинг, поддержка мультиформатного импорта/экспорта, модули технического чертежа и многое другое.
16. Встроенные приложения
Одна из самых впечатляющих возможностей Python — работа на встроенном железе. Это такие устройства, которые предназначены для выполнения ограниченного набора действий. Встроенный софт — это тот, который отвечает за работу таких устройств. Среди самых популярных приложений MicroPython, Zerynth, PyMite и EmbeddedPython.
В качестве примера встроенных устройств можно вспомнить цифровые камеры, смартфоны, Raspberry Pi, промышленные роботы и другие, которые могут работать с помощью Python. Не все знают, но Python может использоваться как слой абстракции там, где на системном уровне работают C или C++.
Другие приложение на Python
Вывод
Python — продвинутый и универсальный язык программирования, который быстро приобретает популярность среди разработчиков в разных отраслях. Его можно применить почти в любой сфере благодаря широкому набору библиотек.
Если вы только знакомитесь с программированием в целом, то этот материал должен был убедить вас выбрать в качестве первого языка Python. Благо, выучить его сегодня легко с помощью обилия книг, курсов, GitHub-репозиториев, популярных инструментов и библиотек.
Где перспективно и адекватно использовать Python
В прошлой статье мы уже обсудили с вами причины, по которой Python нельзя назвать идеальным языком для новичков, хотя на том же Хабре бытует мнение, что Python – это выбор номер один и вообще топчик.
В этой статье мы с вами обсудим тот перечень направлений Питона, который я выделяю наиболее перспективными для приложения своих сил и времени для молодых специалистов. Данный вывод делается на основе моего анализа – изучение областей и инструментов питона и сравнивать их эффективность с аналогами на других платформах.
Что ты можешь сделать на Питоне
Хотя питон является языком общего назначения, и как говорится, все двери перед тобой открыты, на самом деле использование языка сильно ограничивается теми инструментами и технологиями, которые были в нем разработаны в ходе эволюционной борьбы с другими технологиями. Поэтому приступаем к обзору.
Микроконтроллеры (весьма сомнительно)
Хотя Андрей Власовских на прошедшем PYCON Russia 2017 в своей фирменной манере с энтузиазмом рассказывал о том, как программировать микроконтроллеры на таком инструменте, как MicroPython, а Кирилл Борисов даже предлагал изучить некоторую зарубежную литературу, ситуация в общем никакая.
Список микроконтроллеров, которые поддерживаются Python, стремится к нулю, коммерческая эффективность и наличие предложений по работе практическая нулевая. С учетом того, что есть более традиционные способы инструменты программирования, пока какая-то большая компания не вложится в этом направление, тут делать нечего.
Девопс (адекватно)
Анализ рынка показывает, что примерно треть всех вакансий, где упоминается Python, относятся к сфере DevOpsa. Однако Python идет не основным инструментом, а той технологией, которую знать желательно. Это связано с тем, что Python практичности полностью сместил Perl для Linux, и неплохо так подвинул Bash в области написания крупных скрипов и более крупных серверных компонентов. Также к этому добавляется то, что интерфейс многих тулзов принимает Python в качестве языка сценариев.
Если вы хотите развиваться в сфере Девопса, то знание Питон вам будет большим плюсом, все остальные проходят эту сферу стороной.
Что касается коммерческой перспективы (стартапа) данного направления, то сложно представить человека, который бы смог написать и монетизировать какой-то инструмент, не имея опыта 5+ лет в области девопса.
Тестирование (адекватно)
Хотя главным инструментом автоматизации тестирования является кровавая Java, которая имеет огромный набор фреймворков и готовых решений, порой небольшие компании используют Python для полноценного тестирования, либо написания сценариев для тулзов, типа Яндекс.Танк с его BFG.
Практика показывает, что хотя Python может полноценно справиться с задачей тестирования, использование Java является более прямолинейным и надежным решением.
Но если говорить в общем, то адекватный специалист по тестированию должен одинаково хорошо использовать Python и Java для своей области.
Вакансий под тестирование примерно также треть от общей массы, часто в вакансиях указывают знание и Python и Java одновременно.
Desktop development (сомнительно)
В настоящий момент язык Python имеет 5 кросc-платформенных инструментов, которые позволяют писать «полноценные» приложения под Windows/Linux/Mac
Поэтому можно с уверенностью сказать, что писать коммерческий Desktop на питон – это весьма сомнительная затея, и компании этим редко занимаются (либо переписывают при первой же возможности, как это сделал DropBox).
Что касается внутренних инструментов, то использование небольших GUI-приложений применяется, но искать целенаправленно Desktop Python разработчиков не будут.
Кто же хочется заняться этой сферой более полно, прошу к Игорю Новикову, который нашел неплохой способ сшить Франкенштейна с помощью абстракционного слоя – ссылка
Mobile Development (весьма сомнительно)
Все плохо, в качестве pet проектов можно использовать Kivy, для реальной разработки весьма сомнительно, вакансий на Kivy нет.
Т.е. как, я лично разговаривал с рядом людей, которые имели свой веб-проект на Python и для захвата большой аудитории писали приложения на Kivy, и у них его даже использовали, но это имеет вид «Программист пишет то, на чем хочет».
Машинное обучение и Data science (адекватно и перспективно)
Это одна из самых хайповы областей современного IT-мира, где используется Python в качестве инструмента апробации. Python имеет ряд удобных библиотек машинного обучения и научных расчетов: Pandas, NumPy, SciPy, Scikit-Learn, которые позволяют достаточно быстро построить рабочие модели. И они на самом деле неплохо работают.
Что касается использования, то Python используется в качестве инструмента апробации, либо на небольших задачах. Если проект большой, то обычно модель пишут на Java/Scala/C++, а специалист по обучению уже выступает в качестве консультанта/аналитика.
Сложность этого направления заключается в том, что у вас должны быть высокие знания в области математики и статистики, практически всегда будет спрашиваться высшее технические, математическое образование.
По вакансиям все довольно неплохо, но в таких вакансиях требуется не знание Python, а ваша голова.
Тем, кто хочет быстренько пощупать данное направление, советую прочитать книгу: «Vvedenie_v_mashinnoe_obuchenie_s_pomoschyu_Python_-_A_Myuller_S_Gvido_2017» — есть на торрентах, читается быстро, представление дает хорошее.
Веб-скрапинг (возможно, но сомнительно)
Питон имеет три вещи, которые делают его весьма эффективными в области веб-скраппинга, бибиотеку Requests, beautifulsoup и АПИ для Selenium. Если сюда подключиться библиотеки для компьютерного зрения и Машинное обучение, то получаются весьма эффективные инструменты.
Проблема заключается в том, что вакансий в этой сфере мало, основные клиенты сидят на фрилансе, которые предлагают за фикс написать им скрипты парсинга для их говно-сайтов, спам-машин, и изредка генераторов отзывов.
Область интересная, но денег в ней мало.
Компьютерное зрение (сомнительно)
В питоне есть ряд инструментов, которые позволяют писать инструменты компьютерного зрения, они даже используются местами в коммерческих продуктах, либо в качестве компонентов, например, для веб-скраппинга. Однако Питон явно нельзя назвать подходящим инструментов, поэтому использование крайне ограничено, вакансий практически нет.
GameDev (сомнительно)
Практически в каждом обсуждении разработки игры на Python приводят в качестве примера eve online и WarGaming. Однако в первом случае используется stateless python, а во втором случае все ограничивается языком написания сценариев.
Что же касается реального использования, то у вас появляется три движка Kivy, PyGame, Panda3D, если первые два больше подходят для пет-проектов, то третий реально использовался на боевых проектах неплохого качества, правда эти проекты были 2004 года. Что как бы намекает, что использование проверенных движков на других языках типа Unity или Game Maker выглядит более убедительно.
Однако незаметно сюда крадется движок Ren’Py, который внезапно стал лучшим движков для написания визуальных романов (страдальческих историй для девочек), которые неплохо окупаются даже в рамках РФ. Серия «7 демонологов Петра Великого», тому доказательство.
Вакансий в GameDev для питона естественно нет, но деньги на «стартапе» поднять можно при должной сноровке. Но надежней взять другой язык и проверенные движки.
Веб-разработка (адекватно и перспективно)
Сила Python заключается в том, что он позволяет быстро разрабатывать комплексные веб-приложения, имеет огромное число качественных модулей, прекрасно подходит для сервисов статистики и аналитики (где, в общем, и идет для него большая часть вакансий). Данное направление занимает оставшуюся треть всех вакансий.
Отдельно хочется отметить написание ГИС сервисов на Python, которые хотя и имеют вполне адекватный инструментарий для работы с геоданными, но все же использование Java для этих целей выглядит перспективней.
Выводы об использовании питона
1) Что касается сферы девопса и тестирования, то Питон является ключевым инструментом профессии, который обязателен для каждого адекватного специалиста. Питон в данном случае не учат, к нему приходят по необходимости.
2) Наиболее перспективными выглядят сферы веб-разработки и машинного обучения (аналитики), которые явно выделяют питон на фоне его конкурентов в виде PHP и Ruby. И если вы хотите изучить питон, то вам желательно сосредоточится именно на этих сферах и не тратить свое время на что-то другое. Под это есть вакансии, на этом можно построить стартап.
3) Все остальные сферы, хотя и предлагают определенные инструменты для решения проблем, но перспективность использования этих инструментов выглядит весьма сомнительно. И главное, найти оплачиваемую работу на эти сферы практически невозможно.