М. Лутц - Изучаем Python (4-е издание)- 2011 (1126907), страница 12
Текст из файла (страница 12)
Как оказалось, 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). Для разработки приложений с веб-интерфейсом или не предъявляющих высоких требований к интерфейсу можно использовать Jython,веб-фреймворки на языке Python и ����������������������������������������CGI�������������������������������������-сценарии, которые описываются в следующем разделе и обеспечивают дополнительные возможности по созданиюпользовательского интерфейса.Веб-сценарииИнтерпретатор Python поставляется вместе со стандартными интернет-модулями, которые позволяют программам выполнять разнообразные сетевые операции как в режиме клиента, так и в режиме сервера.
Сценарии могут производить взаимодействия через сокеты, извлекать информацию из форм, отправленных серверным CGI-сценариям; передавать файлы по протоколу FTP; обрабатывать файлы XML; передавать, принимать, создавать и производить разборписем электронной почты; загружать веб-страницы с указанных адресов URL;производить разбор разметки HTML и ������������������������������������XML���������������������������������полученных веб-страниц; производить взаимодействия по протоколам XML-RPC, SOAP и Telnet и многое другое.Библиотеки, входящие в состав Python, делают реализацию подобных задачудивительно простым делом.Кроме того, существует огромная коллекция сторонних инструментов для создания сетевых программ на языке Python, которые можно найти в Интернете.Например, система HTMLGen позволяет создавать HTML-страницы на основеописаний классов Python.
Пакет mod_ python предназначен для запуска сценариев на языке Python под управлением веб-сервера Apache и поддерживаетшаблоны механизма Python Server Pages. Система ��������������������������Jython��������������������обеспечивает бесшовную интеграцию Python/Java и поддерживает серверные апплеты, которыевыполняются на стороне клиента.Помимо этого для Python существуют полноценные пакеты веб-разработки, такие как Django, TurboGears, web2py, Pylons, Zope и WebWare, поддерживающиевозможность быстрого создания полнофункциональных высококачественныхвеб-сайтов на языке Python. Многие из них включают такие возможности, какобъектно-реляционные отображения, архитектура Модель/Представление/Контроллер (Model/View/Controller), создание сценариев, выполняющихся настороне сервера, поддержка шаблонов и технологии ����������������������AJAX������������������, предоставляя законченные и надежные решения для разработки веб-приложений.50Глава 1.
Python в вопросах и ответахИнтеграция компонентовВозможность интеграции программных компонентов в единое приложениес помощью Python уже обсуждалась выше, когда мы говорили о Python како языке управления. Возможность Python расширяться и встраиваться в системы на языке �����������������������������������������������������������C����������������������������������������������������������и C++ делает его удобным и гибким языком для описания поведения других систем и компонентов. Например, интеграция с библиотекойна языке C позволяет Python проверять наличие и запускать библиотечныекомпоненты, а встраивание Python в программные продукты позволяет производить настройку программных продуктов без необходимости пересобиратьэти продукты или поставлять их с исходными текстами.Такие инструменты, как Swing и SIP, автоматически генерирующие программный код, могут автоматизировать действия по связыванию скомпилированных компонентов в Python для последующего их использования в сценариях, а система Cython позволяет программистам смешивать программныйкод на Python и C.
Такие огромные платформы на Python, как поддержка COMв MS Windows, Jython – реализация на языке Java, IronPython – реализацияна базе .NET и разнообразные реализации CORBA, предоставляют альтернативные способы организации взаимодействий с программными компонентами. Например, в операционной системе Windows сценарии на языке Pythonмогут использовать платформы управления такими приложениями, как MSWord и Excel.Приложения баз данныхВ языке Python имеются интерфейсы доступа ко всем основным реляционнымбазам данных – Sybase, Oracle, Informix, ODBC, MySQL, PostgreSQL, SQLiteи многим другим. В мире Python существует также переносимый прикладнойпрограммный интерфейс баз данных, предназначенный для доступа к базамданных SQL из сценариев на языке Python, который унифицирует доступк различным базам данных. Например, при использовании переносимого APIсценарий, предназначенный для работы со свободной базой данных MySQL,практически без изменений сможет работать с другими системами баз данных(такими как Oracle).