Начало работы
oleg swЧто можно делать с помощью Python?
В дополнение к тому, что Python является хорошо спроектированным языком
программирования, он удобен при решении реальных задач — то, чем разработчики
занимаются изо дня в день. Он обычно применяется в разнообразных областях в
качестве инструмента для снабжения сценариями других компонентов и реализации
автономных программ. Фактически роли Python как универсального языка практически
безграничны: вы можете использовать его для чего угодно, начиная с разработки
веб-сайтов и игровых программ и заканчивая управлением роботами и космическими
аппаратами.
Тем не менее, в настоящее время самые распространенные роли языка Python от
носятся к нескольким обширным категориям. В последующих разделах описаны наиболее
распространенные приложения Python, а также инструменты, применяемые в
каждой области. Мы не в состоянии сколько-нибудь глубоко исследовать упоминаемые
здесь инструменты — если вас интересует любая из этих тем, тогда обращайтесь за
дополнительными деталями на веб-сайт Python или другие ресурсы.
Кто использует Python в наши дни?
На момент написания главы наилучшая оценка размера пользовательской базы
Python, которую, по всей видимости, может сделать любой, предполагала наличие
приблизительно 1 миллиона пользователей по всему миру (плюс или минус сколько-
то). Оценка основана на разнообразных статистических данных, таких как количество
загрузок, веб-статистика и опросы разработчиков. Поскольку Python — продукт
с открытым кодом, получить более точное число затруднительно, т.к. отсутствуют
какие-либо регистрации лицензий, которые можно было бы подсчитать. Вдобавок
Python автоматически входит в состав дистрибутивов Linux, поставляется с компьютерами
Macintosh и включается в широкий диапазон продуктов и оборудования, что еще
больше усложняет получение достоверного представления о пользовательской базе.
Однако в общем Python обладает крупной пользовательской базой и очень активным
сообществом разработчиков. В целом считается, что на сегодняшний день Python
входит в пятерку или десятку наиболее широко применяемых языков программирования в мире (его точное место варьируется в зависимости от источника и даты). По
причине существования Python на протяжении свыше двух десятилетий и обширного
использования он также характеризуется высокой стабильностью и надежностью.
Помимо применения индивидуальными пользователями Python также задействован
в реальных продуктах, приносящих доход для реальных компаний. Например, вот
что общеизвестно из пользовательской базы Python.
• Google всесторонне использует Python в своих системах веб-поиска.
• Популярная служба совместного использования видеоматериалов YouTube почти
полностью написана на Python.
• Серверное ПО и ПО для настольных клиентов службы хранилища Dropbox написано главным образом на Python.
• Одноплатный компьютер Raspberry Pi поддерживает Python в качестве своего
учебного языка.
• EVE Online, грандиозная многопользовательская онлайновая игра от ССР Games,
широко применяет Python.
• Популярная пиринговая система обмена файлами BitTorrent начинала свое существование как программа Python.
• Industrial Light & Magic, Pixar и другие компании используют Python в производстве анимационных фильмов.
• ESRI применяет Python в качестве инструмента настройки для конечных пользователей в своих картографических продуктах ГИС.
• Фреймворк веб-разработки Арр-Engine от Google использует Python как приклад
ной язык.
• Продукт почтового сервера IronPort для выполнения своей работы применяет
более 1 строк кода Python.
• Maya, мощная интегрированная система трехмерного моделирования и анимации, предоставляет API-интерфейс для сценариев Python.
• ASA использует Python для шифрования и анализа разведывательной информации.
• iRobot применяет Python при разработке коммерческих и военных роботизированных устройств.
• Настраиваемые сценарные события в игре Civilization IV написаны целиком на
Python.
• В проекте “один лэптоп на ребенка” (One Laptop Per Child — OLPG) пользовательский интерфейс и модель деятельности построены на Python.
• Netflix и Yelp документально подтвердили роль Python в своих инфраструктурах
ПО.
• Intel, Cisco, Hewlett-Packard, Seagate, Qualcomm и IBM используют Python для аппаратного тестирования.
• JPMorgan Chase, UBS, Getco и Citadel применяют Python для выработки прогнозов
на финансовом рынке.
• NASA, Los Alamos, Fermilab, JPL и другие компании используют Python для решения задач научного программирования.
И еще: игры, изображения, глубинный анализ
данных, роботы, электронные таблицы Excel...
Python обычно применяется в большем перечне областей, чем можно раскрыть
здесь. Например, вы обнаружите инструменты, которые позволят использовать
Python в следующих ситуациях:
• программирование игр и создание мультимедиа-содержимого с помощью pygame, cgkit, pyglet, Ру-Soy, PandaBD и т.п.;
• взаимодействие через последовательные порты в Windows, Linux и других средах с помощью расширения Ру-Serial',
• обработка изображений посредством PIL и его новейшего ответвления Pillow,
PyOpenGL, Blender, Maya и т.д.;
• программирование контроллеров для роботов с применением инструментального набора PyRo',
• обработка естественного языка с помощью пакета NLTK,
• инструментальное оснащение плат Raspberry Pi и Arduino',
• мобильные вычисления посредством переносимых версий Python для платформ
Google Android и Apple iOS,
• программирование функций и макросов для электронных таблиц Excel с использованием дополнений PyXLL или DataNitro',
• обработка меток содержимого медиа-файлов и метаданных с помощью PyMedia, ID3, PIL/Pillow и т.д.;
• программирование искусственного интеллекта с применением библиотеки нейронных сетей PyBrain и инструментального набора машинного обучения Milk,
• программирование экспертных систем посредством PyCLIPS, Pyke, Pyrolog и
pyDatalog,
• мониторинг сети с использованием системы zenoss, написанной и настраиваемой
с помощью Python;
• проектирование и моделирование, подкрепленное сценариями Python, с использованием PythonCAD, PythonOCC, FreeCAD и т.д.;
• обработка и генерация документов посредством ReportLab, Sphinx, Cheetah, PyPDF
и т.д.;
• визуализация данных с применением Mayavi, matplotlib, VTK, VPython и т.д.;
• разбор XML-содержимого с помощью библиотечного пакета xml, модуля
xmlrpclib и сторонних расширений;
• обработка файлов JSON и CSV с использованием модулей json и csv;
• глубинный анализ данных посредством фреймворка Orange, пакета Pattern, Scrapy и специального кода.
Он относительно прост в использовании
В сравнении с альтернативами вроде C++, Java и C# для большинства наблюдателей
программирование на Python выглядит удивительно простым. Чтобы выполнить программу Python, вы просто набираете ее и запускаете. Промежуточные шаги компиляции и
связывания, как в языках С и C++, не требуются. Python выполняет программы тотчас же,
что сделано для поддержки интерактивного программирования и ускоренного цикла после
внесения изменений в программу =- во многих случаях вы можете наблюдать эффект от
изменения программы почти так же быстро, как только способны набирать его.
Конечно, цикл разработки — лишь один аспект легкости использования Python. Он
также обеспечивает преднамеренно простой синтаксис и мощные встроенные инструменты.
На самом деле некоторые заходят настолько далеко, что называют Python
исполняемым псевдокодом. Из-за устранения большей части сложности в других инструментах
программы Python проще, меньше и гибче своих эквивалентов, написанных на
других популярных языках.