Математический анализ. 3е издание
Скачать 4.86 Mb.
|
Пользовательский интерфейс IDLE До сих пор мы рассматривали запуск программного кода Python с по мощью интерактивной командной строки интерпретатора, системной командной строки, с помощью щелчка мышью на ярлыке и с исполь Пользовательский интерфейс IDLE 93 зованием операции импорта. Если вам требуется более наглядный под ход, интегрированная среда IDLE может предложить вам графический интерфейс пользователя (ГИП) для разработки программ на языке Py thon; IDLE является стандартной и свободно распространяемой частью системы Python. Обычно она называется интегрированной средой раз+ работки (integrated development environment, IDE), потому что позво ляет решать разнообразные задачи в единой оболочке. 1 Проще говоря, IDLE – это набор инструментальных средств с графиче ским интерфейсом, который способен работать на самых разных плат формах, включая Microsoft Windows, X Window (в Linux, UNIX и дру гих UNIXподобных операционных системах) и Mac OS (включая вер сии Classic и OS X). Для многих IDLE представляет собой удобную аль тернативу командной строке, а также альтернативу способу запуска щелчком мыши. Основы IDLE Давайте начнем с примера. Запуск IDLE в операционной системе Win dows не вызывает проблем – для нее создается отдельный пункт в раз деле Python меню кнопки Пуск (Start) (рис. 2.1), а кроме того, ее можно запустить, выбрав пункт контекстного меню, щелкнув правой кноп кой мыши на ярлыке программы, написанной на языке Python. В не которых UNIXподобных системах для запуска начального сценария IDLE может потребоваться использовать командную строку или щелк нуть мышью на ярлыке файла idle.pyw или idle.py, размещенного в под каталоге idlelib в каталоге Lib, где установлен интерпретатор Python. (В Windows IDLE является сценарием Python, который по умолчанию находится в каталоге C:\Python25\Lib\idlelib. 2 ) На рис. 3.3 показано, как выглядит среда IDLE, запущенная в опера ционной системе Windows. Окно с заголовком Python Shell (Оболочка Py thon), которое открывается первоначально, является основным окном среды, в котором запускается интерактивный сеанс работы с интерпре татором (обратите внимание на приглашение к вводу >>>). Это самый 1 Официально название IDLE считается искаженной аббревиатурой IDE, но в действительности она была названа так в честь члена труппы цирка Мон ти Пайтона (Monty Python) – Эрика Эйдла (Eric Idle). 2 IDLE – это программа на языке Python, которая создает графический ин терфейс с помощью библиотеки Tkinter GUI, что обеспечивает ее переноси мость, но также означает, что для использования IDLE вам придется обес печить поддержку Tkinter в Python. Версия Python для Windows обладает такой поддержкой по умолчанию, но некоторым пользователям Linux и UNIX может потребоваться установить соответствующую поддержку Tkinter (для этого в некоторых дистрибутивах Linux можно использовать команду yum tkinter, более подробные сведения об установке вы найдете в приложении A). В системе Mac OS X все необходимое может быть уже ус тановлено – поищите на своей машине команду idle. 94 Глава 3. Как пользователь запускает программы обычный интерактивный сеанс, который играет роль инструмента проведения экспериментов, – программный код, который здесь вво дится, немедленно исполняется. В IDLE присутствуют привычные пункты меню и для выполнения наи более распространенных операций имеются короткие комбинации кла виш. Чтобы создать (или отредактировать) файл с исходным программ ным кодом в среде IDLE, откройте окно текстового редактора: в глав ном окне откройте меню File (Файл) и выберите пункт New Window (Новое окно), чтобы открыть окно текстового редактора (или Open… (Открыть) – чтобы отредактировать существующий файл). В результате на экране появится новое окно. Это окно текстового редактора среды IDLE, где создается или изменяется программный код. В книге это недостаточно четко видно, но IDLE обеспечивает подсвет+ ку синтаксиса программного кода, который вводится как в главном окне, так и во всех окнах текстового редактора, – ключевые слова вы деляются одним цветом, литералы другим цветом, и т. д. Это позволя ет визуально выделять элементы программного кода. Чтобы запустить файл с программным кодом в среде IDLE, выберите окно, где редактируется текст, раскройте меню Run (Запустить) и выбе рите в нем пункт Run Module (Запустить модуль) (или воспользуйтесь соот ветствующей этому пункту меню горячей комбинацией клавиш). Если с момента открытия или последнего сохранения файла его содержимое изменялось, Python предложит сохранить его. Когда сценарий запускается таким способом, весь вывод, который он ге нерирует, а также все сообщения об ошибках появляются в основном ок не интерактивного сеанса работы с интерпретатором (командная оболоч ка Python). Например, на рис. 3.3 последние три строки являются ре зультатом выполнения сценария, открытого в отдельном окне редакти рования. Сообщение «RESTART» говорит о том, что пользовательский процесс был перезапущен с целью выполнить отредактированный сце нарий, и позволяет визуально отделить вывод, полученный от сценария. Совет дня: если потребуется повторно выполнить команду в основ ном окне интерактивного сеанса в среде IDLE, можно воспользо ваться комбинацией AltP, выполняющей последовательный пере ход к началу истории команд, и AltN, выполняющей переход к концу истории команд (в некоторых системах Mac вместо этих комбинаций могут использоваться комбинации CtrlP и CtrlN). При нажатии этих комбинаций клавиш вы сможете вызывать предыду щие команды, изменять их и запускать. Кроме того, имеется воз можность повторно вызывать команды, позиционируя в них кур сор, и использовать операцию «скопировать и вставить», но часто это оказывается более трудоемко, чем ввести вручную. Вне среды разработки IDLE, в ходе интерактивного сеанса работы с интерпре татором в системе Windows, можно повторно возвращаться к пре дыдущим командам с помощью клавиш управления курсором. Пользовательский интерфейс IDLE 95 Использование IDLE Интегрированная среда разработки IDLE проста в использовании, пе реносима и доступна в большинстве платформ. Я обычно рекомендую ее тем, кто только начинает программировать на языке Python, пото му что она упрощает некоторые аспекты и не предполагает наличие опыта работы с системной командной строкой. Но, по сравнению с не которыми коммерческими интегрированными средами разработки, она имеет некоторые ограничения. Ниже приводится список особенно стей, которые должны приниматься во внимание начинающими поль зователями IDLE: • При сохранении файлов необходимо явно добавлять расширение «.py». Я уже упоминал об этом, когда мы говорили о файлах вооб ще, но это самый распространенный камень преткновения, особен но для пользователей Windows. Среда IDLE не выполняет автома тическое добавление расширения .py к именам сохраняемых фай лов. Не забывайте добавлять расширение .py, когда сохраняете файл в первый раз. В противном случае, вы хотя и сможете запус тить свой файл из среды IDLE (а также из системной командной Рис. 3.3. Основное окно интерактивного сеанса работы с интерпретатором Python в интегрированной среде IDLE, запущенной под управлением операционной системы Windows. Используйте меню File, чтобы создать (New Window) или изменить (Open…) файл с исходным программным кодом. Для запуска сценария, открытого в окне редактирования, используйте меню Run этого окна (пункт Run Module) 96 Глава 3. Как пользователь запускает программы строки), но не сможете импортировать его в интерактивную ко мандную оболочку или в другой модуль. • Запускайте сценарии, выбирая пункт меню Run →Run Module в окне редактирования, а не за счет их импортирования или перезагрузки в окне интерактивного сеанса. Ранее в этой главе было показано, что вполне возможно запустить файл, выполнив операцию импор тирования в интерактивной оболочке интерпретатора. Однако та кой способ несет определенные сложности, потому что он требует вручную выполнять перезагрузку файлов после внесения измене ний. В противовес ему пункт меню Run →Run Module всегда приводит к запуску текущей версии файла. Кроме того, в случае необходимо сти будет предложено сохранить файл (еще одна распространенная ошибка при работе вне среды IDLE). • Вам по!прежнему может потребоваться выполнять перезагрузку импортируемых модулей. Пункт меню Run →Run Module в среде IDLE всегда запускает текущую версию только файла верхнего уровня. Если изменениям подвергались модули, импортируемые сценари ем, их необходимо будет перезагрузить вручную в интерактивной оболочке. Но, несмотря на это, использование пункта меню Run → Run Module позволяет избавиться от некоторых ошибок, связанных с операцией импортирования. Если вы предпочитаете использовать операции импортирования и перезагрузки, не забывайте о комби нациях клавиш AltP и AltN, позволяющих возвращаться к ранее за пускавшимся командам. • Вы можете настроить IDLE. Чтобы изменить шрифты или цвета в IDLE, выберите пункт Configure (Настройка) в меню Options (Парамет ры) в любом окне IDLE. Кроме того, вы сможете настроить комбина ции клавиш, настройки отступов и многое другое. Более подробные сведения вы сможете получить в меню Help (Справка) среды IDLE. • В настоящее время в IDLE отсутствует возможность очистки экра! на. Похоже, что эта возможность является наиболее востребован ной (возможно потому, что она присутствует в похожих интегриро ванных средах разработки), и в конечном счете когданибудь она будет добавлена. Однако в настоящее время нет никакой возможно сти выполнить очистку окна интерактивного сеанса. Если вам по требуется очистить окно, вы можете нажать и удерживать некото рое время клавишу Enter или написать цикл на языке Python, кото рый будет выводить последовательность пустых строк. • Многопоточные программы с графическим интерфейсом на базе Tkinter могут не работать со средой IDLE. Изза того, что IDLE сама является программой Python/Tkinter, она может зависать при запус ке некоторых типов программ на языке Python, использующих биб лиотеку Tkinter. В более свежих версиях IDLE проблем с этим стало меньше – благодаря тому, что пользовательский программный код запускается в виде одного процесса, а сам графический интерфейс Пользовательский интерфейс IDLE 97 IDLE работает в виде другого процесса, но некоторые программы по прежнему могут вызывать зависание графического интерфейса IDLE. Ваш программный код может и не вызывать проблем такого рода, од нако существует эмпирическое правило: вы без опаски можете ис пользовать IDLE для редактирования исходных текстов программ с графическим интерфейсом, но для их запуска желательно исполь зовать другие способы, например щелчком мыши на ярлыке или из системной командной строки. Если ваш программный код не работа ет в IDLE, попробуйте запустить его за пределами среды разработки. • Если возникают ошибки соединения, попробуйте запустить IDLE в виде единого процесса. Изза того, что для нормальной работы IDLE необходимо поддерживать взаимодействие между пользова тельским процессом и графическим интерфейсом среды разработки, на определенных платформах могут проявляться проблемы с запус ком (особенно часто проблема с запуском встречается на некоторых машинах Windows). Если вам доведется столкнуться с такими ошиб ками, попробуйте запустить IDLE из командной строки, что вынудит ее запуститься в виде единственного процесса и позволит избежать проблем с поддержанием соединения: для принудительного запуска в этом режиме используйте флаг – n . Например, в операционной сис теме Windows откройте программу Командная строка (Command Prompt) и запустите команду idle.py – n из каталога C:\Python25\Lib \idlelib (перед этим, в случае необходимости, выполните команду cd). • Остерегайтесь использования некоторых особенностей IDLE. Сре да IDLE обладает множеством особенностей, облегчающих жизнь начинающим программистам, но некоторые из них невозможно ис пользовать за пределами графического интерфейса среды разработ ки. Например, IDLE запускает ваши сценарии в своем окружении, поэтому переменные, определяемые сценарием, автоматически ста новятся доступны в интерактивном сеансе IDLE – вам не придется запускать команду import, чтобы получить доступ к именам в фай лах верхнего уровня, которые уже были запущены. Это может быть удобно, но может вызывать проблемы при работе вне среды IDLE, потому что в этом случае всегда необходимо импортировать имена из используемых файлов. Дополнительные возможности IDLE Помимо основных функций редактирования и запуска среда IDLE пре доставляет целый ряд дополнительных возможностей, включая отлад чик и инспектор объектов. Отладчик IDLE активируется с помощью меню Debug (Отладка), а инспектор объектов – с помощью меню File ( Файл). Инспектор объектов позволяет переходить, перемещаясь по пу ти поиска модулей, к файлам и объектам в файлах – щелчок на файле или объекте приводит к открытию соответствующего исходного текста в окне редактирования. 98 Глава 3. Как пользователь запускает программы Режим отладки в IDLE инициируется выбором пункта меню Debug → Debugger (Отладка →Отладчик) главного окна, после этого можно запус тить отлаживаемый сценарий выбором пункта меню Run →Run Module ( Запустить →Запустить модуль); как только отладчик будет активирован, щелчком правой кнопки мыши на выбранной строке в окне редакти рования вы сможете устанавливать точки останова в своем программ ном коде, чтобы приостанавливать выполнение сценария, просматри вать значения переменных и т. д. Кроме того, вы сможете следить за ходом выполнения программ – в этом случае текущая выполняемая строка программного кода выделяется цветом. Кроме того, в случае появления ошибок можно щелкнуть правой кноп кой мыши на строке с сообщением об ошибке и быстро перейти к стро ке программного кода, которая вызвала эту ошибку. Это позволяет бы стро выяснить источник ошибки и ликвидировать ее. Помимо этого, текстовый редактор IDLE обладает обширным набором возможностей, которые пригодятся программистам, включая автоматическое оформ ление отступов, расширенный поиск текста и файлов и многое другое. Интегрированная среда IDLE обеспечивает интуитивно понятный гра фический интерфейс, и потому вы можете поэкспериментировать с ней, чтобы получить представление об имеющихся возможностях. Другие интегрированные среды разработки Изза того, что IDLE бесплатна, переносима и является стандартной частью Python, она прекрасно подходит на роль инструмента разра ботки, с которым следует познакомиться в первую очередь, если вы во обще собираетесь использовать интегрированную среду разработки. Я еще раз рекомендую использовать IDLE для выполнения упражне ний из этой книги, если вы только начинаете знакомство с языком Py thon и пока не знакомы с принципами разработки, основанными на применении командной строки. Однако существует еще несколько альтернативных средств разработки, и некоторые из них отличаются более высокой устойчивостью и обладают более широкими возможно стями по сравнению с IDLE. Ниже приводятся некоторые из наиболее популярных интегрированных сред разработки: Eclipse и PyDev Eclipse – это улучшенная и свободно распространяемая интегриро ванная среда разработки с графическим интерфейсом. Первона чально она создавалась как среда разработки программного кода на языке Java, но при установке модуля расширения PyDev (или по добного ему) она обеспечивает возможность разработки программ на языке Python. Eclipse – популярный и мощный инструмент для разработки программ на языке Python, возможности которой на много шире возможностей IDLE. Один из ее недостатков заключа ется в том, что она слишком велика, а модуль расширения PyDev для получения дополнительных возможностей (включая интегри Другие интегрированные среды разработки 99 рованную интерактивную консоль), требует установки условнобес платных пакетов расширений, которые не являются свободно рас пространяемыми. Когда ваши потребности перерастут возможно сти IDLE, обратите внимание на комбинацию Eclipse/PyDev. Komodo Полнофункциональная среда разработки с графическим интерфей сом пользователя для Python (и других языков программирования), Komodo поддерживает такие возможности, как подсветка синтакси са, редактирование текста, отладка и другие. Кроме того, Komodo об ладает множеством дополнительных возможностей, отсутствующи ми в IDLE, включая файлы проектов, интеграцию с системами кон троля версий исходных текстов, отладку регулярных выражений и визуальный построитель графических интерфейсов, который гене рирует программный код Python/Tkinter, реализующий графиче ские интерфейсы, создаваемые в интерактивном режиме. К моменту написания этих строк среда Komodo не являлась свободно распро страняемой. Найти ее можно на сайте http://www.activestate.com. PythonWin PythonWin – это свободно распространяемая интегрированная среда разработки на языке Python для операционной системы Windows. Она распространяется в составе пакета ActivePython компании Acti veState (но ее можно также получить отдельно на сайте http:// www.python.org ). По своим возможностям она несколько напоминает IDLE и имеет несколько полезных расширений, специфичных для Windows, например, PythonWin обладает поддержкой COMобъек тов. В настоящее время IDLE обладает более широкими возможно стями, чем PythonWin (например благодаря тому, что IDLE исполь зует для своей работы два процесса, она реже зависает). Однако Py thonWin предлагает инструменты для разработки программ под Windows, которые отсутствуют в IDLE. Более подробную информа цию вы найдете на сайте http://www.activestate.com. Прочие Существует еще примерно с полдесятка других известных мне ин тегрированных сред разработки (например, WingIDE, PythonCard), и со временем их число будет увеличиваться. Фактически почти в каждом современном текстовом редакторе для программистов имеется поддержка языка Python, которая устанавливается вместе с редактором по умолчанию или в виде отдельных расширений. На пример, редакторы Emacs и Vim обладают существенной поддерж кой языка Python. Я не буду описывать все возможные варианты здесь, вы сами можете узнать о них на сайте http://www.python.org или выполнив поиск в Google по строке «Python editors» (редакторы Python) – это должно привести вас на страницу Wiki, где содержится информация о множестве интегрированных сред разработки и тек стовых редакторов для Python. |