Марк Лутц - Изучаем Python, Четвертое издание (1184811), страница 21
Текст из файла (страница 21)
В этой главе рассматриваются все наиболеечасто используемые приемы запуска программ. Попутно вы узнаете, как вводить программный код в интерактивном режиме, как сохранять его в файлах, которые можно будет запускать из командной строки, щелчком на ярлыкеи импортировать и загружать в виде модулей, выполнять с помощью инструкции exec или меню графического интерфейса IDLE.Если вам требуется лишь узнать, как запускать программы на языке Python,прочитайте раздел, где описывается ваша платформа, и переходите к главе 4.Однако не пропускайте материал, где описывается импортирование модулей,потому что эти сведения являются основой для понимания архитектуры программ на языке Python. Я также рекомендую просмотреть разделы с описанием IDLE и других интегрированных сред разработки, чтобы вы представляли,какие инструментальные средства доступны, когда приступите к разработкеболее сложных программ.Интерактивный режимПожалуй, самый простой способ запускать программы на языке Python – этовводить инструкции непосредственно в командной строке интерпретатора, которая иногда называется интерактивной оболочкой.
Запустить эту командную строку можно разными способами – в интегрированной среде разработки,в системной консоли и так далее. Предположим, что интерпретатор установленв вашей системе как выполняемая программа, тогда самый универсальныйспособ запустить интерактивный сеанс работы с интерпретатором заключает-78Глава 3. Как пользователь запускает программыся в том, чтобы ввести команду python без аргументов в командной строке вашей операционной системы. Например:% pythonPython 3.0.1 (r301:69561, Feb 13 2009, 20:04:18) [MSC v.1500 32 bit (Intel)] ...Type “help”, “copyright”, “credits” or “license” for more information.>>>После ввода слова «python» командная оболочка вашей операционной системызапустит интерактивный сеанс работы с интерпретатором Python (символ «%»здесь означает строку приглашения к вводу, он не должен вводиться вами).
Понятие системной командной строки является универсальным, но как получитьдоступ к ней, зависит от используемой платформы:•• В операционной системе Windows команду python можно ввести в консолиDOS (она же – Командная Строка (Command Prompt), которую обычно можнонайти в разделе Стандартные (Accessories) меню Все программы (Programs), которое появляется после щелчка на кнопке Пуск (Start)), или в диалоге Пуск(Start) → Выполнить… (Run…).•• В операционных системах UNIX, Linux и Mac OS X эту команду можноввести в командной оболочке или в окне терминала (например, в xterm илив консоли, где запущена командная оболочка, такая как ksh или csh).•• В других операционных системах можно использовать похожие или какието специфичные для платформы устройства.
Например, чтобы запуститьинтерактивный сеанс в наладонных устройствах, обычно достаточно щелкнуть на ярлыке Python.Если вы не включили путь к каталогу установки Python в переменную окружения PATH, вместо простого слова «python» вам может потребоваться ввестиполный путь к выполняемой программе. В операционной системе Windowsможно попробовать ввести команду C:\Python30\python (для версии 3.0); в UNIXи в Linux: /usr/local/bin/python или /usr/bin/python:C:\misc> c:\python30\pythonPython 3.0.1 (r301:69561, Feb 13 2009, 20:04:18) [MSC v.1500 32 bit (Intel)] ...Type “help”, “copyright”, “credits” or “license” for more information.>>>Или перед вводом команды «�����������������������������������������������python�����������������������������������������» можно перейти в каталог, куда был установлен интерпретатор Python. Для этого в операционной системе Windows, например, можно выполнить команду cd c:\python30, например:C:\misc> cd C:\Python30C:\Python30> pythonPython 3.0.1 (r301:69561, Feb 13 2009, 20:04:18) [MSC v.1500 32 bit (Intel)] ...Type “help”, “copyright”, “credits” or “license” for more information.>>>В Windows, кроме ввода команды python в окне командной оболочки, запуститьинтерактивный сеанс можно также, открыв главное окно IDLE (обсуждаетсяниже) или выбрав пункт Python (command line) (Python (командная строка)) в подменю Python в меню Пуск (Start), как показано на рис. 2.1 в главе 2.
В обоих случаяхоткрывается интерактивный сеанс Python с одинаковыми возможностями, тоесть ввод команды в командной оболочке не является обязательным условием.Интерактивный режим79Выполнение инструкций в интерактивном режимеИнтерактивный сеанс работы с интерпретатором Python начинается с выводадвух строк информационного текста (которые я буду опускать в примерах дляэкономии места), затем выводится приглашение к вводу >>>, когда интерпретатор Python��������������������������������������������������������������������������������������������������������������������������переходит в режим ожидания ввода новой инструкции или выражения. При работе в интерактивном режиме результаты выполнения вашихинструкций будут выводиться сразу же после нажатия клавиши Enter вслед застрокой с приглашением >>>.Например, ниже приводятся результаты выполнения двух инструкций print(в действительности инструкция print была инструкцией в Python 2.6, а вPython 3.0 она стала функцией, поэтому круглые скобки являются обязательным элементом только в версии 3.0):% python>>> print(‘Hello world!’)Hello world!>>> print(2 ** 8)256Вам пока также не стоит вникать в детали инструкций print, приведенныхздесь, – изучение синтаксиса мы начнем в следующей главе.
В двух словах,эта инструкция вывела текстовую строку и целое число, как видно в строках,которые были напечатаны ниже строк с приглашением к вводу >>> (выражение2 ** 8 на языке Python означает 2 в степени 8).При работе в интерактивном режиме, как показано в этом примере, вы можетевводить любое число команд Python, и каждая из них будет выполняться сразуже после ввода. Более того, поскольку в интерактивном сеансе результаты выражений, которые вы вводите, выводятся автоматически, совершенно необязательно явно использовать функцию «print»:>>> lumberjack = ‘okay’>>> lumberjack‘okay’>>> 2 ** 8256>>># Для выхода используйте клавиши Ctrl-D (в UNIX) или Ctrl-Z (в Windows)%В этом примере первая строка сохраняет значение в переменной, а две последние введенные строки являются выражениями (lumberjack и 2 ** 8), результатывычисления которых отображаются автоматически.
Чтобы завершить работуинтерактивного сеанса, как показано в данном примере, и вернуться в системную командную строку, в UNIX-подобной системе нажмите комбинацию клавиш Ctrl-D, а в системах MS-DOS и Windows – комбинацию Ctrl-Z. В графическоминтерфейсе IDLE, который будет рассматриваться ниже, нужно либо нажатькомбинацию клавиш Ctrl-D, либо просто закрыть окно.В приведенных примерах мы сделали немногое – всего лишь ввели несколькоинструкций print, одну инструкцию присваивания и несколько выражений,о которых подробнее мы поговорим позднее. Главное, на что следует обратитьвнимание, – интерпретатор немедленно выполняет введенный программныйкод сразу же после нажатия клавиши Enter.80Глава 3.
Как пользователь запускает программыНапример, когда в строке приглашения к вводу >>> была введена первая инструкция print, результат (строка) был немедленно выведен на экран. Нам непотребовалось создавать файл с исходным текстом программы и для выполнения программного кода не понадобилось сначала компилировать и компоновать его, что является обычным делом при использовании таких языков программирования, как C или C++.
Как будет показано в последующих главах,при работе с интерактивной оболочкой вы можете также вводить многострочные инструкции – такие инструкции будут выполняться только после вводавсех строк.Когда может пригодиться интерактивный режим?В интерактивном режиме интерпретатор немедленно выполняет введенные инструкции и выводит результат, но эти инструкции не сохраняются в файле. Этоозначает, что в интерактивном режиме вы едва ли будете выполнять длинныеотрывки программного кода, но при этом интерактивный режим предоставляет отличную возможность для проведения экспериментов с возможностямиязыка и тестирования файлов программ на лету.ЭкспериментированиеБлагодаря тому, что программный код выполняется немедленно, интерактивный режим превращается в замечательный инструмент для проведения экспериментов с конструкциями языка.
Интерактивная оболочка часто будетиспользоваться в этой книге для демонстрации небольших примеров. Самоепервое, что вы должны запомнить: если вы чувствуете, что не понимаете, какработает тот или иной отрывок программного кода на языке Python, запуститеинтерактивный сеанс и попробуйте ввести этот фрагмент, чтобы посмотреть,что произойдет.Например, предположим, что вы изучаете некоторый фрагмент программы наязыке Python и наталкиваетесь на выражение ‘Spam!’ * 8, которое вам кажетсянепонятным. Можно, конечно, потратить с десяток минут, пробираясь черезруководства и учебники, в попытках выяснить, что же делает этот код, но можно просто выполнить его в интерактивной оболочке:>>> ‘Spam!’ * 8<== Изучение методом проб и ошибок‘Spam!Spam!Spam!Spam!Spam!Spam!Spam!Spam!’Немедленная обратная связь, которую предоставляет интерактивная оболочка, часто позволяет быстрее всего выяснить, что делает тот или иной фрагментпрограммного кода.
Эксперимент наглядно показывает, что произошло дублирование строки: в языке Python оператор * выполняет операцию умножениянад числами, но если левый операнд является строкой, он действует как оператор многократной конкатенации строки с самой собой (подробнее о строкахрассказывается в главе 4).При проведении подобных экспериментов вы едва ли что-нибудь испортите, покрайней мере, пока. Чтобы причинить серьезный ущерб, например удалитьфайл или выполнить команду системной командной оболочки, необходимоявно импортировать модули (чтобы стать опасным для системы, вы должныхорошо знать системные интерфейсы языка Python!).