Язык Python – что это такое, кому и зачем нужен в 2022
Кто и где использует Пайтон? Почему он популярен сегодня и в каких сферах используется? На эти и другие вопросы специально для блога Anywhere Club отвечает Lead Software инженер EPAM Юрий Зайцев.
Определение и особенности
— Python — это высокоуровневое средство разработки, на котором можно писать практически все. Его первые наметки появились еще в году 1989, Python 1.0 увидел свет увидел в 1994-м. Нужно отметить, что он сильно отличался от второй версии, релиз которой случился в 2000-м, — рассказывает Юрий, — версия 2.0 Python стала очень популярной и быстро развивалась. Текущая третья версия вышла в 2008-м.
Для чего используется этот инструмент разработки?
— В теории это средство можно использовать в любых ситуациях, где нужно программирование: от разработки простого интернет-магазина до марсохода. Программное обеспечение дрона марсохода Perseverance Ingenuity разработано при помощи F Prime. Это многокомпонентный фреймворк для моделирования и разработки софта для космических аппаратов, разработанный NASA. Написан он в основном, конечно, на С++, но около 25% Python все же есть. В реальности использовать последний не всегда целесообразно.
Основные преимущества
— Сферы применения Python — разнообразны и многообразны. Основные направления я бы обозначил так:
Разработка back-end веб-приложений
Это интернет-магазины, онлайн-игры, стриминговые видео-сервисы, в качестве примеров можно привести Django, FastApi, Flask.
Решение научных и околонаучных задач
Таких, как расчеты, анализ данных их визуализация. Например, анализ генома, расчет траекторий полета космических тел, реализованные через Pandas, jupyter, Plotly.
Машинное обучение
Распознавание лиц, документов, прогнозирование продаж. Здесь круто себя проявили TensorFlow, Keras, PyTorch.
Автоматизация
Бизнес-процессы, производство, умный дом: посмотрите, как это сделано с помощью AirFlow, Luigi.
Встраиваемые системы
Бортовой компьютер автомобиля, робот-пылесос. Все подробности можно найти здесь: MicroPython.
Минусы пайтона назвать сложнее. Не бывает плохих языков программирования, бывает неправильное использование. Если попытаться что-то найти, то это будет разве что скорость. Из коробки CPython существенно уступает в производительности компилируемым языкам вроде Си, потому что более высокоуровневый.
Но:
- Во-первых, большая скорость нужна не всегда.
- Во вторых, популярные библиотеки для обработки данных, где производительность важна, обычно используют C-extensions и работают почти со скоростью Си.
- В-третьих, есть разные решения вроде Cython, Numba, PyPy, которые вводят определенные ограничения, но позволяют сильно улучшить производительность.
В каких случаях стоит выбрать другой инструмент?
Разработка front-end веб-приложений
Проекты вроде Pyodide позволяют исполнять исходный код на Python в браузере через WebAssembly, но пока что это скорее занятие для энтузиастов.
Мобильные приложения
Фреймворки вроде Kivy и BeeWare дают возможность разрабатывать полноценные приложения под Android и IOS, но это не слишком удобно и в отрасли не принято.
Разработка игр
Хотя игровые движки, поддерживающие Python, существуют (Panda3D, Сocos2d, PyGame), для AAA лучше выбрать С++. А вот визуальную новеллу написать вполне возможно.
Причины популярности
- Эта платформа используется в разных сферах — разработке, автоматизации тестирований, анализе данных, машинном обучении. Это значит, что хорошо разбираясь в Python, можно гибко строить карьеру и при необходимости переключаться между смежными областями.
- Язык лаконичен, элегантен и обладает очень простым синтаксисом. Программа, написанная на нем, часто читается как связный текст на английском языке. Можно быстро разобраться в языке и начать работать.
- Еще один плюс — легкость разработки. В силу простоты языка и большого количества готовых к использованию бесплатных модулей он позволяет писать и тестировать программы очень быстро. А быстро — значит дешевле. Поэтому его часто выбирают в качестве основной технологии при старте проекта.
Какие крупные компании сегодня используют Python?
Безусловно, существует огромное множество компаний во всем мире, которые используют данную среду программирования, перечислю самые именитые:
- Google использует этот скриптовый инструмент как один из ключевых в своих проектах, Microsoft активно использует для веб-сервисов, Amazon применяет повсеместно.
- Также частично написаны на нем Dropbox, Spotify, Instagram, Reddit.
- Netflix и Uber используют этот скриптовый язык не на всех этапах своего программного обеспечения.
- В таких играх, как World of Tanks, EVE Online, на этом языке была написана серверная часть.
Стоит ли начинать учить Python?
— Сейчас эта платформа популярна как никогда. В прошлом году язык вышел на первое место индекса TIOBE, обойдя С и Java. Он активно развивается, синтаксис расширяется, постепенно решаются «проблемы», с которыми технология часто ассоциируется — вроде низкой производительности.Открытых библиотек в PyPI все больше.
Сколько времени занимает обучение?
— Чтобы выучить базу, уйдет 3-4 месяца. Дальше желательно поработать «на подхвате» 3-6 месяцев, посмотреть, как все работает на практике.
Что нужно сделать, чтобы начать разбираться в Пайтоне?
- Сперва нужно привыкнуть к синтаксису, ознакомиться сфункционалом стандартной библиотеки и вникнуть в стандарты и соглашения — хотя бы PEP8. Не лишним будет подтянуть пробелы в основах алгоритмизации и парадигмах программирования — ООП будет достаточно.
- Затем будет полезно разобраться в «батарейках» — сторонних библиотеках, доступных на PyPI. Досконально знать интерфейсы всех функций каждой готовой библиотеки, конечно, не требуется. Достаточно разбираться, какие популярные фреймворки существуют и в каких ситуациях они могут быть полезны.
- На десерт — базы данных (SQL/NoSQL) и облачные технологии (AWS/Azure/GCP). Хоть это и не обязательно, на практике большая часть enterprise проектов невозможно представить без их использования.
— Python сложно не любить: это очень лаконичный и простой язык, он быстро пишется и у него много «батареек». Но если вдруг он вам надоест, то, продолжая его использовать, можно работать инженером по автоматизации тестирования, инженером по машинному обучению и даже аналитиком данных, — подводит итоги Юрий.
Подробнее о Python можно узнать в выпуске АйТиБорода Shorts на YouTube-канале Anywhere Club.
Появилось желание обсудить Python?