Программисты проводят много времени за написанием, чтением и редактированием кода. Очень важно, чтобы в используемом текстовом редакторе эта работа выполнялась по возможности эффективно. Эффективный редактор должен выделять структуру кода, чтобы вы могли обнаружить типичные ошибки во время работы. Также редактор должен поддерживать автоматическую расстановку отступов, маркеры для обозначения длины строки и комбинации клавиш для часто выполняемых операций.
Начинающему программисту рекомендуется использовать редактор, который поддерживает все эти функции, но не создает проблем на начальном этапе. Также желательно кое-что знать о более сложных редакторах, чтобы вы понимали, в какой момент можно задуматься над переходом.
Мы рассмотрим современные редакторы для всех основных операционных систем: Geany для новичков, работающих в Linux и Windows, и Sublime Text для OS X (хотя этот редактор также работает в Linux и Windows). Также мы рассмотрим IDLE, редактор, который поставляется с Python по умолчанию. Наконец, мы рассмотрим Emacs и vim — два сложных редактора, о которых вы будете часто слышать, когда будете проводить больше времени за программированием. Мы используем hello_world.py в качестве примера и запустим эту программу в каждом редакторе.
Geany — простой текстовый редактор, который позволяет запускать почти все программы прямо из редактора. Кроме того, Geany выводит результаты в терминальном окне, что поможет вам освоить работу в терминале.
В большинстве систем Linux установка Geany выполняется одной строкой:
$ sudo apt-get install geany
Если в системе установлено несколько версий Python, необходимо настроить Geany для использования правильной версии. Откройте Geany, выберите команду File—>Save As и сохраните пустой файл под именем hello_world.py. Введите следующую строку в окне редактора:
print("Hello Python world!")
Откройте окно Build—>Set Build Commands. В окне приведены команды Compile и Execute, рядом с каждым из которых располагается команда. Geany предполагает, что правильной командой в каждом случае является python, но если в системе должна использоваться команда python3, настройку необходимо изменить. Введите в поле Compile следующий текст:
python3 -m py_compile "%f"
Команда должна быть введена точно в таком виде без малейших изменений. Проследите за правильностью регистра символов и расстановки пробелов.
Команда Execute должна выглядеть так:
python3 "%f"
И снова тщательно проверьте пробелы и регистр символов.
Программу установки Geany для Windows можно загрузить по адресу http://geany.org/. Щелкните в строке Releases меню Download и найдите пакет geany-1.25_setup.exe (или что-нибудь в этом роде). Запустите программу и подтвердите все значения по умолчанию.
Откройте Geany, выберите команду File—>Save As и сохраните пустой файл под именем hello_world.py. Введите следующую строку в окне редактора:
print("Hello Python world!")
Откройте окно Build—>Set Build Commands. В окне содержатся поля Compile и Execute, рядом с каждым из которых располагается команда. Каждая команда должна начинаться с python (в нижнем регистре), но Geany не знает, где в вашей системе хранится программа python. Путь к ней необходимо добавить в начале терминального сеанса. (Вы можете пропустить эти действия, если вы настроили переменную Path так, как описано в приложении А.)
В полях Compile и Execute введите диск и путь к каталогу, в котором находится программа python. Команда Compile должна выглядеть примерно так:
C:\Python35\python -m py_compile "%f"
Возможно, в вашей системе путь будет немного другим, но регистр символов и пробелы должны выглядеть точно так, как показано выше.
Команда Execute должна выглядеть так:
C:\Python35\python "%f"
И снова тщательно проверьте пробелы и регистр символов. Когда настройка команд будет завершена, щелкните на кнопке OK. Теперь ваши программы должны запускаться без проблем.
Существуют три способа запуска программ из Geany. Чтобы запустить hello_world.py, выберите в меню команду Build—>Execute, щелкните на кнопке с шестеренками или нажмите клавишу F5. При запуске hello_world.py на экране появляется терминальное окно со следующим выводом:
Hello Python world!
------------------
(program exited with code: 0)
Press return to continue
Теперь мы настроим Geany, чтобы работа проходила с максимальной эффективностью. Для этого мы настроим функции, упомянутые в начале приложения.
Чередование символов табуляции и пробелов в коде может создать проблемы в программах Python. Чтобы проверить настройки отступов в Geany, выберите команду Edit—>Preferences—>Editor—>Indentation. Задайте ширину табуляции равной 4 и выберите в поле Type значение Spaces.
Если в вашей программе табуляции чередуются с пробелами, вы можете преобразовать все табуляции в пробелы командой Document—>Replace Tabs by Spaces.
В большинстве редакторов существует возможность назначения визуального признака (обычно вертикальной линии), обозначающего рекомендуемую длину строки. Чтобы включить эту возможность, выберите команду Edit—>Preferences—>Editor—>Display, и убедитесь в том, что флажок Long line установлен. Затем убедитесь в том, что в поле Column задано значение 79.
Чтобы включить отступ в блоке, выделите код и выберите команду Edit—>Format—>Increase Indent или нажмите Ctrl+I. Чтобы убрать отступ в блоке, выберите команду Edit—>Format—>Decrease Indent или нажмите Ctrl+U.
Чтобы временно исключить блок кода из программы, вы можете выделить блок и закрыть его комментарием, чтобы интерпретатор Python игнорировал его. Выберите команду Edit—>Format—>Toggle Line Commentation (Ctrl+E). Строки помечаются специальной последовательностью (#~), указывающей, что это не обычный комментарий. Когда вы захотите вернуть блок в программу, выделите его и выберите ту же команду.
Sublime Text — простой текстовый редактор, который легко устанавливается в OS X (и во многих других системах) и позволяет выполнять почти все программы прямо из редактора. Он также выполняет ваш код в терминальном сеансе, встроенном в окно Sublime Text, что упрощает просмотр результатов. Политика лицензирования Sublime Text более чем либеральна: вы можете бесплатно пользоваться редактором сколь угодно долго, но автор требует приобрести лицензию, если программа вам понравилась и вы собираетесь использовать ее в будущем. Мы загрузим Sublime Text 3 — новейшую версию на момент написания книги.
Загрузите программу установки Sublime Text по адресу http://www.sublimetext.com/3. Перейдите по ссылке загрузки и выберите программу установки для OS X. Когда она будет загружена, откройте программу и перетащите значок Sublime Text в папку Applications.
В большинстве систем Linux редактор Sublime Text проще всего устанавливается из терминального сеанса:
$ sudo add-apt-repository ppa:webupd8team/sublime-text-3
$ sudo apt-get update
$ sudo apt-get install sublime-text-installer
Загрузите программу установки для Windows по адресу http://www.sublimetext.com/3. Запустите программу установки, и редактор Sublime Text появится в меню Пуск.
Если вы используете версию Python, включенную в поставку системы, скорее всего, вы сможете запускать программы без изменения каких-либо настроек. Чтобы запустить программы, выберите команду Tools—>Build или нажмите Ctrl+B. Когда вы запускаете hello_world.py, в нижней части окна Sublime Text должна появиться панель терминала со следующим выводом
Hello Python world!
[Finished in 0.1s]
Если в вашей системе установлено несколько версий Python или Sublime Text не запускает программы Python автоматически, придется внести изменения в файл конфигурации. Сначала необходимо узнать полный путь к интерпретатору Python. В Linux и OS X введите следующую команду:
$ type -a python3
python3 is /usr/local/bin/python3
Замените python3 командой, которую вы обычно используете для запуска терминального сеанса.
Если вы работаете в системе Windows, обращайтесь к разделу «Установка Python 3 в Windows» на с. 466, в котором рассказано, как найти путь к интерпретатору Python.
Теперь откройте Sublime Text и выберите команду Tools—>Build System—>New Build System, которая открывает новый конфигурационный файл. Удалите текущее содержимое и введите следующий фрагмент кода:
Python3.sublime-build
{
. ."cmd": ["/usr/local/bin/python3", "-u", "$file"],
}
Этот код приказывает Sublime Text использовать команду python3 при выполнении текущего открытого файла. Убедитесь в том, что вы используете путь, определенный на предыдущем шаге (в Windows это путь C:/Python35/python или что-нибудь в этом роде). Сохраните файл под именем Python3.sublime-build в каталоге по умолчанию, который открывает Sublime Text при выборе команды Save.
Откройте файл hello_world.py, выберите команду Tools—>Build System—>Python3, а затем Tools—>Build. Вывод должен отображаться в терминале, встроенном в нижней части окна Sublime Text.
Теперь мы настроим Sublime Text, чтобы работа проходила с максимальной эффективностью. Для этого мы настроим функции, упомянутые в начале приложения.
Выберите команду View—>Indentation и убедитесь в том, что флажок Indent Using Spaces установлен. Если флажок снят, установите его.
Выберите команду View—>Ruler и щелкните на значении 80. Sublime Text устанавливает вертикальную черту в позиции 80-го символа.
Чтобы включить отступ в блоке, выделите код и выберите команду Edit—>Line—>Indent или нажмите Ctrl+]. Чтобы убрать отступ в блоке, выберите команду Edit—>Line—>Unindent или нажмите Ctrl+[.
IDLE — стандартный редактор Python. В работе он менее интуитивен, чем Geany или Sublime Text, но он часто упоминается в других учебниках, предназначенных для начинающих, поэтому вам стоит познакомиться с ним.
Если вы используете Python 3, установите пакет idle3 следующей командой:
$ sudo apt-get install idle3
Если вы используете Python 2, пакет idle устанавливается так:
$ sudo apt-get install idle
Если вы использовали Homebrew для установки Python, скорее всего, редактор IDLE уже установлен в вашей системе. В терминальном окне введите команду brew linkapps, которая сообщает IDLE, как найти правильный интерпретатор Python в вашей системе. После этого IDLE оказывается в вашей папке пользовательских приложений.
В противном случае перейдите по ссылке https://www.python.org/download/mac/tcltk/ и выполните приведенные инструкции; также необходимо установить несколько графических пакетов, от которых зависит IDLE.
Редактор IDLE должен быть установлен автоматически, когда вы устанавливали Python. Вы найдете его в меню Пуск.
Так как IDLE является редактором Python по умолчанию, бульшая часть настроек IDLE уже приведена в соответствие с рекомендациями для Python: табуляции автоматически преобразуются в пробелы, а индикатор длины строки установлен на ширину 80 символов.
Чтобы включить отступ в блоке, выделите его и выберите команду Format—>Indent Region или нажмите Ctrl+]. Чтобы убрать отступ в блоке, выберите команду Format—>Dedent Region или нажмите Ctrl+[.
Чтобы временно исключить выделенный блок кода из программы, выберите команду Format—>Comment out Region или нажмите Alt+3. Чтобы вернуть блок в программу, выберите команду Format—>Uncomment Region или нажмите Alt+4.
Многие опытные программисты отдают предпочтение emacs или vim. Эти два популярных редактора спроектированы так, чтобы пользователю не приходилось отрывать руки от клавиатуры. Это означает, что опытный пользователь может читать, писать и редактировать код с очень высокой эффективностью. С другой стороны, для освоения этих редакторов придется основательно потрудиться.
Программисты часто советуют хотя бы опробовать эти редакторы, но многие профессионалы забывают, как много всего нового узнает новичок. Знать о существовании этих редакторов полезно, но отложите знакомство с ними до того момента, когда вы начнете уверенно писать программы и работать с ними в более простых редакторах, которые позволяют сосредоточиться на изучении программирования, а не на работе с редактором.