Забавы с IDLE: день первый

["И был вечер, и было утро: день первый" (Библия). В оригинальном заголовке просто говорится об одном дне без аллюзий к сотворению мира.- Прим.пер.]

Эта страничка предназначена для тех начинающих пользователей Python, кто чувствует себя слегка дезориентированным. Вопрос, который может прийти на ум: хорошо, мы установили Python... ммм... и что теперь?

Было бы замечательно иметь "визуальное" руководство для преодоления первого страха. Вот для чего нужна эта страница. Идея заключается в том, чтобы вы сами (но под мою "диктовку") провели небольшой сеанс работы с IDLE: интегрированной средой разработки (Integrated Development Environment). IDLE разработана, чтобы облегчить программирование. В ходе этого сеанса я сделаю несколько неуклюжих ошибок, только чтобы показать, что происходит, когда не все идет как надо.

Между прочим, это электронный документ. Если у вас есть какие-нибудь предложения, исправления, улучшения, пожалуйста, пишите мне на email dyoo@hkn.eecs.berkeley.edu. Маленькая реклама: не забывайте также о существовании такого отличного ресурса по Python, как список рассылки Tutor: мы - те, кому нравится делиться друг с другом интересными находками в Python. Все вместе мы учимся, так что подписывайтесь и присоединяйтесь к нам.

Изменения



Ok, будем считать, что Python уже установлен. (Если нет, посетите: http://python.org и загрузите последнюю версию интерпретатора Python. Что касается данного документа, то здесь использовался Python 2.4.) Первое, что мы сделаем,- это запустим его! Для этого мы откроем IDLE, который должен быть в нашем меню Пуск в свежеиспеченной группе программ Python.



Перед нами величественно распахивается окно.

Это главное окно IDLE, и называется оно окном "интерпретатора". Интерпретатор позволяет вводить команды непосредственно в Python, то есть, как только будет введена команда, Python тут же исполнит ее и выдаст на-гора результат. При работе с Python окно интерпретатора будет применяться часто: замечательно, что оно сразу же выводит на экран полученный результат. Можно думать о нем, как об очень мощном калькуляторе, если так проще.



Давайте сделаем что-нибудь прямо сейчас! По традиции попросим Python произнести бессмертные слова: "Hello World".

Значки '>>>' играют роль приглашения: Python сигнализирует, что готов считывать новую команду. Также, обратите внимание, после ввода команды Python тут же выводит что получилось в результате ее выполнения.



Ok, пока все довольно просто. Попробуем еще несколько команд. Посмотрите на рисунок, расположенный ниже:

на нем показан результат запуска новых команд. Не слишком беспокойтесь о том, как правильно программировать: сейчас мы экспериментируем с Python, вводя в него команды. Если что-то не работает, исправляем ошибку и пробуем снова.

Если вы дошли до этой точки, то уже знаете достаточно, чтобы начать самостоятельно играть с Python! Быстрее открывайте одно из руководств с web-страницы Python для начинающих и - за работу. Никаких ограничений по времени. *улыбка*



Сейчас, вволю наигравшись, зададимся вопросом: ok, это ясно, но, если закрыть Python и снова запустить его, как компьютер вспомнит, что мы напечатали?

Решение напоминает обходной путь: нельзя напрямую сохранить содержимое окна интерпретатора, потому что в него входят и сами команды, и ответы системы. Вместо этого мы создаем файл, в котором будут только команды, и сохраняем его как документ. Когда появится настроение, этот файл всегда можно открыть и запустить в Python, экономя время на повторном наборе всех его команд.

Попробуем. Начнем с чистого листа, открыв новое окно.

Вот результат работы этой команды меню:

Как видите, в новом окне ничего нет. Следовательно, этот файл целиком и полностью отдан под команды: Python не будет прерывать нашу работу с программой, вернее, пока мы не скажем ему это сделать. Чтобы не путать с окном интерпретатора, я назову его "окном программ".



Все, что мы хотели сделать,- это сохранить несколько строк, уже опробованных в окне интерпретатора. Осуществим этот план, набрав (или скопировав/вставив) эти команды в нашем окне программ.

Хорошо, с копированием и вставкой мы справились. Нужно обратить внимание на одну важную деталь: не забыть удалить приглашения ">>>", потому что они в программу не входят. Интерпретатор использует их, чтобы напомнить, что мы работаем в интерпретаторе. Но сейчас при редактировании отдельного файла эти артефакты интерпретатора совершенно ни к чему.



Сохраним же полученный файл. Команда Save (сохранить) находится в меню File:



Программа сохранена, как теперь ее запустить? Если исследовать меню окна программ,

то обнаружится опция "Run Module" (запустить модуль), которая нам и нужна. Мы хотим, чтобы Python запустил программу и вывел в окне интерпретатора ее результаты.

Между прочим, обратите внимание, при копировании ранее введенных в окне интерпретатора строк я сделал опечатку. Интересно, как она скажется?

Ой. Это пример того, что Python называет "синтаксической ошибкой". Python видит опечатку и просит, чтобы мы внимательнее присмотрелись к своей программе. Разработчики Python понимают, что указание системы на ошибку лучше попыток угадать, что имел в виду программист. Это проявление принципа преимущества явного перед неявным. Существуют определенные законы [Похожие на грамматические в естественном языке.- Прим. пер.] для кода Python, определяющие, хорошо он выглядит или подозрительно. Человек бессознательно руководствуется подобными законами, когда говорит на родном языке. И когда сказанное вами звучит подозрительно, то, да, что-то не так с точки зрения грамматики. *улыбка*

Часто Python способен правильно указать на источник проблемы. В данном случае он утверждает, что мы забыли что-то поставить в конце строки. Оказывается нужно закрыть кавычки. Закрываем.



Ok, допустим, мы исправили эту глупую опечатку. Попытаемся снова запустить программу.

Еще одна проблема, на сей раз не столько сложная, сколько глупая. Нас застало врасплох правило IDLE сохранять любое окно с программой, прежде чем запустить ее; это вопрос организации интерфейса пользователя. Он хочет убедиться, что вы не забыли сохранить свою работу, перед тем как начнете ее проверять.

(Замечание: не исключено, что вышеприведенный комментарий уже устарел; довольно много людей, раздраженных ленивым поведением IDLE, требует изменений. Надеемся, что в будущей версии IDLE, этого сообщения об ошибке вы уже не увидите.)

Говорят, Бог троицу любит. Запускаем еще раз. Надеюсь сейчас все пройдет хорошо.



Играя с Python, вы можете заметить, что постоянно "переключаетесь" между окном интерпретатора и окном программ. Это происходит, потому что интерпретатор удобен как небольшая лаборатория и полигон для испытания малых программ. После того как желаемый результат достигнут (или когда мы устали), хочется сохранить то, чему мы научились, в программный файл.

Это, конечно же, означает, что данный файл можно будет загрузить снова; глупо сохранять программу без возможности ее последующего использования. Покажем, как это делается, и на сегодня хватит. Я закрою все окна IDLE и начну с чистого листа.

Находим команду Open (открыть) в меню File:

и, если все идет как надо, появится новое программное окно:

с нашей старой программой. Все работает! Сделанную работу можно сохранить и потом открыть ее снова. Не стоит расценивать это как простую банальность; это критически важно для того, кто хочет играть с Python дольше, чем один день. *улыбка*

Это почти все, что нужно знать об IDLE, чтобы начать делать с его помощью интересные вещи. В данном руководстве много информации об IDLE опущено: IDLE - больше, чем просто редактор, но для знакомства со всеми его возможностями нужно время, так что остановимся здесь. На странице Документация IDLE сильно интересующиеся смогут найти для себя много нового о применении IDLE. Опять-таки, если остались вопросы, не стесняйтесь заглядывать в список рассылки Python Tutor; как правило, там всегда бывает кто-то, кто не откажется поболтать с вами о Python. Итак, подводя итог, это было веселое и, надеюсь, не зря проведенное время!

Обратно на мою персональную страницу, посвященную Python.


Автор: Danny Yoo
Web-адрес: https://hkn.eecs.berkeley.edu/~dyoo/python/idle_intro/index.html

Перевод на русский язык: Ф.Занько
Web-адрес перевода: http://www.russianlutheran.org/python/python.html
Лицензия перевода: Разрешается свободное распространение и использование настоящего перевода для любых целей при условии сохранения текста перевода в неизменном виде.

О замеченных ошибках, неточностях, опечатках просьба сообщать по электронному адресу:
russianlutheran@gmail.com