IDLE — стандартный редактор Python. В работе он менее интуитивен, чем Geany или Sublime Text, но он часто упоминается в других учебниках, предназначенных для начинающих, поэтому вам стоит познакомиться с ним.
Установка IDLE в Linux
Если вы используете Python 3, установите пакет idle3 следующей командой:
$ sudo apt-get install idle3
Если вы используете Python 2, пакет idle устанавливается так:
$ sudo apt-get install idle
Установка IDLE в OS X
Если вы использовали Homebrew для установки Python, скорее всего, редактор IDLE уже установлен в вашей системе. В терминальном окне введите команду brew linkapps, которая сообщает IDLE, как найти правильный интерпретатор Python в вашей системе. После этого IDLE оказывается в вашей папке пользовательских приложений.
В противном случае перейдите по ссылке https://www.python.org/download/mac/tcltk/ и выполните приведенные инструкции; также необходимо установить несколько графических пакетов, от которых зависит IDLE.
Установка IDLE в Windows
Редактор IDLE должен быть установлен автоматически, когда вы устанавливали Python. Вы найдете его в меню Пуск.
Настройка IDLE
Так как 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
Многие опытные программисты отдают предпочтение emacs или vim. Эти два популярных редактора спроектированы так, чтобы пользователю не приходилось отрывать руки от клавиатуры. Это означает, что опытный пользователь может читать, писать и редактировать код с очень высокой эффективностью. С другой стороны, для освоения этих редакторов придется основательно потрудиться.
Программисты часто советуют хотя бы опробовать эти редакторы, но многие профессионалы забывают, как много всего нового узнает новичок. Знать о существовании этих редакторов полезно, но отложите знакомство с ними до того момента, когда вы начнете уверенно писать программы и работать с ними в более простых редакторах, которые позволяют сосредоточиться на изучении программирования, а не на работе с редактором.
Приложение В. Помощь и поддержка
Во время изучения программирования каждый из нас в какой-то момент оказывается в тупике. Один из важнейших навыков, которые должен освоить каждый программист, — умение быстро найти выход из тупика. В этом приложении описаны некоторые способы решения проблем, которые помогут вам выпутаться из сложной ситуации.
Первые шаги
Если у вас возникли трудности, прежде всего оцените ситуацию. Прежде чем обращаться к помощью, убедитесь в том, что вы можете четко ответить на следующие три вопроса:
• Что вы пытаетесь сделать?
• Что вы делали до настоящего момента?
• Какие результаты вы получили?
Ваши ответы должны быть как можно более конкретными. Например, в первом вопросе развернутое утверждение «Я пытаюсь установить последнюю версию Python 3 на свою машину с Windows 10» достаточно подробно, чтобы другие пользователи сообщества Python могли вам помочь. Формулировки типа «Я пытаюсь установить Python» просто не содержат достаточной информации, чтобы кто-то мог предложить вам помощь.
Ответ на второй вопрос должен быть достаточно развернутым, чтобы вам не предлагали делать то, что уже было сделано: описание «Я открыл страницу http://python.org/downloads/ и выбрал кнопку Download для Python 3. Затем я запустил программу установки» более полезно, чем «Я зашел на сайт Python и загрузил программу установки».
Что касается последнего вопроса, при поиске в Интернете или обращении за помощью желательно знать точные сообщения об ошибках.
Иногда в процессе поиска ответов на эти три вопроса вы сами понимаете, где была допущена оплошность, и выходите из тупика самостоятельно. У программистов даже имеется специальный термин для таких ситуаций: это называется «отладкой с резиновой уткой». Если вы четко объясните свою ситуацию резиновой утке (или любому другому неодушевленному объекту) и зададите конкретный вопрос, часто вы сможете ответить на него. Некоторые организации даже заводят настоящую резиновую утку, чтобы подтолкнуть своих программистов к «разговорам с уткой».
Попробуйте заново
Просто вернитесь к началу и попробуйте еще раз; часто этого оказывается достаточно для решения многих проблем. Допустим, вы пытаетесь написать цикл for на основе примера из книги. Возможно, вы пропустили что-то совсем простое — скажем, двоеточие в конце строки. Повторное выполнение всех действий поможет избежать повторения ошибки.
Сделайте перерыв
Если вы уже долго бьетесь над какой-то проблемой, сделать перерыв — едва ли не лучшее, что можно сделать. Когда мы трудимся над одной задачей в течение долгого времени, наш мозг начинает концентрироваться на единственном решении. Мы забываем о сделанных предположениях, а перерыв помогает взглянуть на проблему под новым углом. Перерыв даже не обязан быть долгим, просто нужно заняться чем-то, что выведет вас из текущего мысленного настроя. Если вы давно сидите на одном месте, переключитесь на какую-нибудь физическую нагрузку: пройдитесь или выйдите на улицу; может, выпейте стакан воды или съешьте что-нибудь легкое и здоровое.
Если вы начинаете отчаиваться, попробуйте отложить работу на следующий день. Хороший сон почти всегда упрощает задачу.
Обратитесь к ресурсам этой книги
В список сетевых ресурсов этой книги (https://www.nostarch.com/pythoncrashcourse/) включен ряд полезных разделов, посвященных настройке системы и обзорам каждой главы. Просмотрите эти ресурсы — возможно, вы найдете в них то, что вам поможет.
Поиск в Интернете
Вполне вероятно, что кто-то уже столкнулся с такой же проблемой и написал о ней в Интернете. Хорошие навыки поиска и конкретные запросы помогут вам найти информацию для решения ваших проблем. Например, если у вас возникли трудности с установкой Python 3 в Windows 10, поиск по условию python 3 windows 10 может привести вас к ответу.
Поиск по точным сообщениям об ошибках тоже может оказаться исключительно полезным. Допустим, при попытке запуска терминального сеанса Python произошла следующая ошибка:
>python
'python' is not recognized as an internal or external command
>
Вероятно, поиск по полному тексту сообщения принесет полезную информацию.
В результатах поиска, связанного с программированием, особенно часто встречаются некоторые сайты. Я опишу некоторые из них, чтобы вы знали, чего от них можно ждать.
Stack Overflow
Stack Overflow (http://stackoverlow.com/), один из самых популярных сайтов с вопросами и ответами для программистов, часто встречается на первой странице результатов поиска, связанного с Python. Пользователи публикуют вопросы по возникшим проблемам, а другие участники пытаются дать полезные ответы. Пользователи могут голосовать за ответы, которые, по их мнению, принесли наибольшую пользу, так что лучшими ответами обычно оказываются первые из найденных.
На сайте Stack Overflow можно найти ответы на многие основные вопросы по языку Python, потому что со временем они были хорошо проработаны. Пользователи также публикуют обновления, так что ответы остаются относительно актуальными. На момент написания книги на сайте Stack Overflow были опубликованы ответы более чем на 400 000 вопросов, связанных с Python.
Официальная документация Python
Официальная документация Python (http://docs.python.org/) уже не столь бесспорно полезна для новичков, потому что она написана для документирования языка, а не для разъяснений. Примеры в официальной документации должны работать, но возможно, что-то в них останется для вас непонятным. Тем не менее это полезный ресурс, к которому стоит обращаться при поиске, а по мере углубления вашего понимания Python он будет приносить еще больше пользы.
Официальная документация библиотек
Если вы используете конкретную библиотеку (например, Pygame, matplotlib, Django и т.д.), в поиске часто будут встречаться ссылки на официальную документацию этого проекта — например, документация http://docs.djangoproject.com/ чрезвычайно полезна. Если вы собираетесь работать с любыми из этих библиотек, вам стоит ознакомиться с официальной документацией.
r/learnpython
Форум Reddit состоит из ряда подфорумов (subreddits). Подфорум r/learnpython (http://reddit.com/r/learnpython/) достаточно активен и благожелательно настроен. Здесь вы сможете прочитать вопросы других участников и опубликовать свои собственные.
Сообщения в блогах
Многие программисты ведут блоги и пишут об аспектах языка, с которым они работают. Прежде чем брать на вооружение любой совет, просмотрите несколько первых комментариев к сообщению в блоге. Если комментариев нет, к сообщению следует относиться скептически. Вполне возможно, что никто другой не смог убедиться в полезности этого совета.