easy

Где нужен и применяется Python

Это не только нейросети

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

Почему Python такой популярный

Работать с Python удобно и приятно, и вот основные причины.

Простота. У него простая структура и синтаксис, которые легко учить и читать. Всё благодаря философии Python, придуманной его разработчиком Гвидо ван Россумом:

  • Красивое лучше уродливого.
  • Явное лучше неявного.
  • Простое лучше сложного.
  • Сложное лучше запутанного.

Полный список называется «Дзен Пайтона», он доступен по адресу peps.python.org/pep-0020/#the-zen-of-python. А ещё можно просто выполнить такой Python-код и получить такой же дзен:

import this

Где нужен и применяется Python

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

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

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

Разработка программного обеспечения

С помощью Python можно создавать программы с графическим интерфейсом и без него (консольные приложения). Для первых в Python есть множество библиотек, например Tkinter, PyQt и wxPython. Python-программы с графическим интерфейсом могут быть использованы для самых разных целей. А в консольных приложениях на Python можно автоматизировать задачи, обрабатывать данные и выполнять другие процессы. Биг-дата, нейросети и всё, что крутится на сервере, обычно работает в консольном режиме.

При этом Python также позволяет разрабатывать собственные библиотеки и модули, которые могут быть использованы другими программистами в их проектах.

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

Автоматизация и робототехника

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

Также на Python разрабатывают алгоритмы и приложения для управления роботами, обработки данных с разных датчиков и для связи между ними. Для этого используют специальные библиотеки и фреймворки ROS (Robot Operating System), PyRobot и Pygame.

А ещё зацените, как можно считать овец с помощью камеры, нейросетей и алгоритмов обработки изображения на Python:

Где нужен и применяется Python

Бэкенд веб-разработки

Обычно, когда говорят про веб, то имеют в виду HTML, CSS и JavaScript, но на самом деле на Python можно создавать сайты и полноценные веб-приложения. Берём Django и Flask (фреймворки для веба), пишем код и на выходе получаем что угодно: блоги, интернет-магазины, социальные сети, управляющие системы и всё, что только можно представить в сети.

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

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

Десктопные и мобильные приложения

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

  • Netflix — видеостриминг;
  • Dropbox — облачное хранилище;
  • Pinterest — фотохостинг;
  • Uber — заказ такси;
  • BitTorrent — для скачивания торрент-файлов;
  • Anki — создание карточек для запоминания информации.

Для отрисовки интерфейса Anki использует библиотеку PyQT
Для отрисовки интерфейса Anki использует библиотеку PyQT

Телеграм-боты

Телеграм-боты — это программы для Телеграма, которые могут разное:

  • отвечать на вопросы пользователей;
  • служить интерфейсом для нейросетей;
  • сообщать погоду в выбранном городе;
  • присылать открытки «С добрым утром» для «Одноклассников»;
  • сообщать об остатках на картах;
  • знакомить людей;
  • назначать встречи и ставить напоминания в календарь;
  • и что угодно ещё, что вы запрограммируете.

Мы уже делали таких ботов, и вы тоже можете сделать своего бота вместе с нами:

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

Анимация

«Дисней» и «Пиксар» часто используют Python для создания анимационных видео. Например, у «Пиксара» для создания 3D-анимаций есть платформа Universal Scene Description, или USD, её использовали в «Истории игрушек — 4». С USD можно работать на Python, а документация и уроки доступны в репозитории на GitHub.

Многие киностудии используют для компьютерных спецэффектов программу Houdini. Основной язык для работы с ней — VEX, но работает он только с геометрией. Python не так хорош в геометрии, зато с ним можно реализовать любую сложную логику эффектов, поэтому с ним можно использовать все возможности Houdini.

Так выглядит работа с Houdini на Python
Так выглядит работа с Houdini на Python

Визуализация и аналитика данных

Python — самый используемый язык в аналитике данных, Data Science и визуализации данных. Для этого есть много разных библиотек, расскажем об основных.

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

Типичный Pandas-график
Типичный Pandas-график

Matplotlib — для визуализации данных. Используется для построения графиков и их комбинирования. Можно добавить другие библиотеки и получить ещё больше возможностей для визуализации. Например, вот один из вариантов применения Matplotlib для работы с картографией:

График, построенный с Mathplotlib и дополнительным модулем Cartopy
График, построенный с Mathplotlib и дополнительным модулем Cartopy

Jupyter Notebook — для создания исследовательской среды. В нём можно объединить код, текст, графики и другие элементы в одном документе. Ещё можно в реальном времени редактировать код или даже выполнять его построчно или отдельными блоками, чтобы быстро проверять идеи. 

Видеоигры

Если вы слышали про World of Tanks, Battlefield 2 и Civilization 4, то теперь знайте, что под капотом там тоже есть Python.

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

В Battlefield 2 на Python реализовано управление игровыми объектами и некоторыми задачами: подсчёт очков, статистика, параметры игровых классов.

А в Civilization 4 вообще почти все внутриигровые механики написаны на Python, поэтому, если есть желание и время, можете запустить редактор кода и написать свой мод для этой игры :-) 

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

Машинное обучение

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

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

Если захотите пойти в биг-дату, ML или стать аналитиком, то наверняка будете писать или разбираться в коде на Python. Профессий на этом направлении много, выбрать есть из чего:

Что дальше

А дальше — практика. Учите Python, пишите свои алгоритмы и код и выбирайте любое направление для работы. Несмотря на то что сейчас все говорят о том, что человека везде скоро заменят нейросети, Python — это надолго. Просто потому, что нейросети тоже пишут на Python :-)

Текст:

Игорь Росляков

Редактор:

Инна Долога

Обложка:

Алексей Сухов

Корректор:

Ирина Михеева

Вёрстка:

Маша Климентьева

Соцсети:

Юлия Зубарева

Любишь Python? Зарабатывай на нём!
Изучите самый модный язык программирования и станьте крутым бэкенд-разработчиком. Старт — бесплатно.
Попробовать бесплатно
Любишь Python? Зарабатывай на нём! Любишь Python? Зарабатывай на нём! Любишь Python? Зарабатывай на нём! Любишь Python? Зарабатывай на нём!
Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
easy
[anycomment]
Exit mobile version