Код
#статьи

Python для новичков: сферы применения и возможности

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

Иллюстрация: Wikimedia Commons / Pngwing / Annie для Skillbox Media

Фото: личный архив Андрея Долгова

Андрей Долгов


Backend-разработчик в VVDEV. Пишет на JavaScript, Python и C#.


Python — это скриптовый язык программирования. Он универсален, поэтому подходит для решения разнообразных задач и для многих платформ: начиная с iOS и Android и заканчивая серверными операционными системами.

Как и где применяется Python

Это интерпретируемый язык, а не компилируемый, как C++ или Java. Программа на Python представляет собой обычный текстовый файл. Код можно писать практически в любом редакторе или использовать специальные IDE:

  • PyCharm — мощная среда разработки от JetBrains.
  • Spyder — IDE, оптимизированная для работы в Data Science. Идёт в пакете с Anaconda.
  • IDLE — стандартный текстовый редактор в составе языка.
  • SublimeText — текстовый редактор с множеством плагинов.
  • Visual Studio Code — популярный текстовый редактор от Microsoft.

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

Веб-разработка

Чаще всего Python используют в веб-разработке. Для него написано множество фреймворков: FastAPI, Flask, Tornado, Pyramid, TurboGears, CherryPy и, самый популярный, Django.

Ещё на Python пишут парсеры для сбора информации с веб-страниц. Делают это с помощью таких популярных библиотек:

  • Scrapy — кросс-платформенная высокопроизводительная библиотека с большим сообществом пользователей.
  • Beautiful Soup — простая и мощная библиотека для парсинга HTML- и XML-документов. Отличается хорошей документацией.
  • Selenium — инструмент для автоматизации и тестирования онлайн-приложений, который позволяет имитировать работу браузера.

Научные исследования и машинное обучение

Благодаря лаконичности, простому синтаксису и богатому набору инструментов Python стал любимым языком учёных. Есть специальные библиотеки для Python, которые позволяют строить графики, проводить исследования и вычисления:

  • SciPy — набор инструментов для научных вычислений.
  • NumPy — расширение, которое позволяет оперировать матрицами и многомерными массивами.
  • pandas — библиотека для аналитики данных.
  • Matplotlib — библиотека для построения графиков различной сложности.

Также для Python есть множество свободных ML-инструментов:

Тестирование

Ещё одна область применения Python — автоматизация тестирования. Многие специалисты по автоматизации QA выбирают Python из-за его простоты. Он отлично подходит тем, кто имеет небольшой опыт в разработке приложений. Развитое сообщество, логичный синтаксис и удобочитаемость упрощают процесс обучения.

У Python есть простые фреймворки для модульного тестирования:

Десктоп-приложения

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

  • GIMP — визуальный редактор на Linux;
  • Ubuntu Software Centre — центр приложений в ОС Ubuntu (один из дистрибутивов Linux);
  • BitTorrent до шестой версии — менеджер торрент-закачек (позже программу переписали на C++, но сети peer-to-peer всё ещё работают на Python);
  • Blender — программа для создания 3D-графики;
  • Ansible — механизм управления конфигурацией, позволяющий развёртывать многоузловое программное обеспечение;
  • Mercurial — кросс-платформенный инструмент управления распределённым исходным кодом.

Мобильные приложения

Мобильная разработка на Python менее популярна. Для Android чаще используют Java, C#, C++ или Kotlin, а для iOS — Swift или Objective-C. На Python обычно программируют серверную часть приложения. Например, клиент «Инстаграма»* для iOS написан на Objective-C, а сервер — на Python. Тем не менее у Python есть фреймворки для разработки кросс-платформенных мобильных GUI-приложений: Kivy и BeeWare.

Игры

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

  • Battlefield 2;
  • World of Tanks;
  • Civilization IV;
  • The Sims 4;
  • EVE Online.
Скриншот: «Хабр»

Хоть Python позволяет писать пользовательские интерфейсы и работать с графикой, чаще всего на нём пишут скрипты — например, для взаимодействия персонажей, запуска сцен и обработки событий. На Python написан искусственный интеллект AlphaStar для StarCraft 2, способный победить сильнейших профессиональных игроков.

Какие компании используют Python

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

  • Google — использует язык в качестве компонента поискового движка.
  • Dropbox — применяет Python для оптимизации серверной части и внешнего интерфейса.
  • Spotify — использует Python для аналитики данных.
  • «Инстаграм»*, «Фейсбук»* — используют в серверной части.
  • BitTorrent — в компании построили на Python сеть peer-to-peer.
  • Агентство национальной безопасности США — шифрует и анализирует разведданные.
  • Esri — использует Python в качестве инструмента настройки геоинформационных программ.
  • Pixar, Industrial Light & Magic — создают на Python анимационные фильмы.
  • Intel, Cisco, HP, Seagate, Qualcomm и IBM — тестируют и анализируют рынок с помощью Python.
  • NASA, Los Alamos, Fermilab, JPL — применяют язык в научных вычислениях.

Кроме того, Python используют в Positive Technologies, Houdini, Yahoo, Red Hat, Pinterest, Quora, VK и «Яндексе». Короче, Python есть практически в каждой компании.

Преимущества Python

Главное преимущество Python — его простота. Не нужно тратить месяцы на изучение сложного синтаксиса, как в C++, и переживать об утечках памяти. Язык всё сделает за вас.

Другие достоинства Python:

  • Это интерпретируемый язык. До запуска программа на Python представляет собой обычный текстовый файл, который можно запустить на любой платформе, где установлен интерпретатор.
  • Он отлично подходит новичкам. Python хорошо спроектирован и логичен. Для его изучения даже не нужно знать английский язык. Благодаря его простоте разработка идёт намного быстрее, потому что программист пишет меньше кода.
  • У языка мощное сообщество. Сообщество пользователей Python настолько большое, что если вы столкнётесь с непонятной ошибкой, то, скорее всего, быстро найдёте её решение в интернете. Ведь до вас кто-то уже столкнулся с похожей и выложил решение на Stack Overflow.

Недостатки Python

А теперь перейдём к «ложке дёгтя»:

  • Программы на Python — среди самых медленных. Приложения для iOS на Swift работают в 8,7 раза быстрее, чем на Python. Реализация PyPy по скорости близка к Java, но в ней есть не все возможности оригинального языка. Python не подходит для задач, требующих большого объёма памяти, — их лучше решать вставками на C или C++.
  • Сильная зависимость языка от системных библиотек. Это затрудняет перенос приложений на другие системы. Чтобы решить проблему, придумали Virtualenv, но и у него есть недостатки: избыточность полных методов изоляции, костыли, дублирование системных библиотек.
  • Global Interpreter Lock (GIL) не позволяет выполнять несколько потоков одновременно в реализации CPython. Однако GIL можно отключить на какое-то время, как это сделано в пакете NumPy.
  • Динамическая типизация. «Вот это да! — скажете вы. — Разве динамическая типизация — это не круто»? С одной стороны — да, но именно из-за неё ошибки отображаются во время выполнения (runtime), а не компиляции (compile time).

Трудоустройство и средняя зарплата Python-разработчика

Популярность Python растёт уже больше восьми лет, язык часто занимает первые места в индексе TIOBE. Параллельно растёт и востребованность Python-разработчиков. Средняя зарплата «питониста» в России — 180 тысяч рублей. Правда, чтобы получать такую зарплату, нужно знать не только сам язык, но и его фреймворки и другие дополнительные технологии.

Согласно индексу TIOBE, популярность Python растёт из года в год
Изображение: TIOBE

Нижняя зарплатная планка для начинающих разработчиков находится на уровне 30 тысяч рублей. Программисты со стажем от двух лет могут рассчитывать на зарплату в 100–150 тысяч рублей.

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

Заключение

Язык программирования Python с каждым годом становится всё популярнее и востребованнее. Он отлично подходит для многих направлений разработки: от веба до тестирования и анализа данных.

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


* Решением суда запрещена «деятельность компании Meta Platforms Inc. по реализации продуктов — социальных сетей Facebook* и Instagram* на территории Российской Федерации по основаниям осуществления экстремистской деятельности».

Жизнь можно сделать лучше!
Освойте востребованную профессию, зарабатывайте больше и получайте от работы удовольствие.
Каталог возможностей
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована