Марк Лутц - Изучаем Python, Четвертое издание (1184811), страница 12
Текст из файла (страница 12)
Дать более точную оценку достаточно сложно, потому что ���Python является открытым программным обеспечением – для его использованияне требуется проходить лицензирование. Более того, Python по умолчаниювключается в состав дистрибутивов ����������������������������������������Linux�����������������������������������, поставляется вместе с компьютерами �����������������������������������������������������������������Macintosh��������������������������������������������������������и некоторыми другими программными и аппаратными продуктами, что существенно затрудняет оценку числа пользователей.Вообще же количество пользователей Python значительно больше и вокругнего сплотилось очень активное сообщество разработчиков. Благодаря тому,что ���������������������������������������������������������������������Python���������������������������������������������������������������появился более 19 лет тому назад и получил широкое распространение, он отличается высокой стабильностью и надежностью.
Python����������������������используется не только отдельными пользователями, он также применяется компаниями для создания продуктов, приносящих настоящую прибыль. Например:Кто в наше время использует Python?47•• Компания Google широко использует Python в своей поисковой системеи оплачивает труд создателя Python.•• Служба коллективного использования видеоматериалов ����������������YouTube���������в значительной степени реализована на языке Python.•• Популярная программа BitTorrent����������������������������������������������������������������������������������для обмена файлами в пиринговых сетях (peer-to-peer) написана на языке Python.•• Популярный веб-фреймворк App Engine от компании Google используетPython в качестве прикладного языка программирования.•• Такие компании, как EVE Online и Massively Multiplayer Online Game(MMOG), широко используют Python в своих разработках.•• Мощная система трехмерного моделирования и создания мультипликации Maya поддерживает интерфейс для управления из сценариев на языкеPython.•• Такие компании, как Intel, Cisco, Hewlett-Packard, Seagate, Qualcommи IBM, используют Python для тестирования аппаратного обеспечения.•• Такие компании, как Industrial Light & Magic, Pixar и другие, используютPython в производстве анимационных фильмов.•• Компании JPMorgan Chase, UBS, Getco и Citadel применяют Python дляпрогнозирования финансового рынка.•• NASA, Los Alamos, Fermilab, JPL и другие используют Python для научныхвычислений.•• iRobot использует Python в разработке коммерческих роботизированныхустройств.•• ESRI использует ������������������������������������������������������Python������������������������������������������������в качестве инструмента настройки своих популярных геоинформационных программных продуктов под нужды конечногопользователя.•• NSA использует Python для шифрования и анализа разведданных.•• В реализации почтового сервера IronProt используется более 1 миллионастрок программного кода на языке Python.•• Проект «ноутбук каждому ребенку» (One Laptop Per Child, OLPC) строитсвой пользовательский интерфейс и модель функционирования на языкеPython.И так далее.
Пожалуй, единственное, что объединяет все эти компании, – этото, что для решения широкого спектра задач прикладного программированияиспользуется язык программирования Python. Универсальная природа языкаобеспечивает возможность его применения в самых разных областях. Фактически с определенной долей уверенности можно утверждать, что Python такили иначе используется практически каждой достаточно крупной организацией, занимающейся разработкой программного обеспечения, – как для решения краткосрочных тактических задач, так и для разработки долгосрочныхстратегических проектов. Как оказалось, Python прекрасно зарекомендовалсебя в обоих случаях.За дополнительными сведениями о компаниях, использующих Python��������������������, обращайтесь на веб-сайт http://www.python.org.48Глава 1.
Python в вопросах и ответахЧто можно делать с помощью Python?Будучи удачно спроектированным языком программирования Python����������������прекрасно подходит для решения реальных задач из разряда тех, которые разработчикам приходится решать ежедневно. Он используется в самом широкомспектре применений – и как инструмент управления другими программнымикомпонентами, и для реализации самостоятельных программ. Фактическикруг ролей, которые может играть ���������������������������������������Python���������������������������������как многоцелевой язык программирования, практически не ограничен: он может использоваться для реализациивсего, что угодно, – от веб-сайтов и игровых программ до управления роботамии космическими кораблями.Однако сферу использования Python������������������������������������������������������������������������������������в настоящее время можно разбить на несколько широких категорий.
Следующие несколько разделов описывают наиболее типичные области применения Python��������������������������������������������������������������������в наши дни, а также инструментальные средства, используемые в каждой из областей. У нас не будет возможности заняться исследованием инструментов, упоминаемых здесь. Если какието из них заинтересуют вас, обращайтесь на веб-сайт проекта Python за болееподробной информацией.Системное программированиеВстроенные в Python интерфейсы доступа к службам операционных системделают его идеальным инструментом для создания переносимых программи утилит системного администрирования (иногда они называются инструментами командной оболочки).
Программы на языке Python могут отыскиватьфайлы и каталоги, запускать другие программы, производить параллельныевычисления с использованием нескольких процессов и потоков и делать многое другое.Стандартная библиотека Python��������������������������������������������������������������������������������������полностью отвечает требованиям стандартов POSIX и поддерживает все типичные инструменты операционных систем:переменные окружения, файлы, сокеты, каналы, процессы, многопоточнуюмодель выполнения, поиск по шаблону с использованием регулярных выражений, аргументы командной строки, стандартные интерфейсы доступа к потокам данных, запуск команд оболочки, дополнение имен файлов и многоедругое.
Кроме того, системные интерфейсы в языке Python������������������������������������������созданы переносимыми, например сценарий копирования дерева каталогов не требует внесенияизменений, в какой бы операционной системе он ни использовался. СистемаStackless Python, используемая компанией EVE Online, также предлагаетулучшенные решения, применяемые для параллельной обработки данных.Графический интерфейсПростота Python����������������������������������������������������������������������������������������������������������������������и высокая скорость разработки делают его отличным средством разработки графического интерфейса.
В состав �����������������������Python�����������������входит стандартный объектно-ориентированный интерфейс к Tk GUI API, который называетсяtkinter (в Python 2.6 он называется Tkinter), позволяющий программам на языке Python реализовать переносимый графический интерфейс с внешним видом,присущим операционной системе. Графические интерфейсы на базе Python/t�����������������������������������������������kinter�����������������������������������������без изменений могут использоваться в ���MS� �����������Windows����, ��X� ��������������Window��������(в опе-Что можно делать с помощью Python?49рационных системах UNIX и Linux) и Mac OS (как в классической версии, таки в OS X).
Свободно распространяемый пакет расширения PMW содержит дополнительные визуальные компоненты для набора t�������������������������kinter�������������������. Кроме того, существует прикладной интерфейс wxPython GUI API, основанный на библиотекеC++, который предлагает альтернативный набор инструментальных средствпостроения переносимых графических интерфейсов на языке Python.Инструменты высокого уровня, такие как PythonCard и Dabo, построены наоснове таких API, как wxPython и tkinter. При выборе соответствующей библиотеки вы также сможете использовать другие инструменты созданияграфического интерфейса, такие как Qt (с помощью PyQt), GTK (с помощьюPyGtk), MFC (с помощью PyWin32), .NET (с помощью IronPython), Swing (с помощью Jython���������������������������������������������������������������������������������������������������������������������������������� – реализации языка ������������������������������������������Python������������������������������������на ��������������������������������Java����������������������������, которая описывается в главе 2, или JPype).