Мечтаете освоить программирование на Python, но не знаете, с чего начать? Не волнуйтесь. Thonny станет вашим гидом на протяжении всего пути обучения — даже Python устанавливать не придется.
Новичкам бывает непросто настроить среду, а общение с опытными разработчиками может еще больше усложнить ситуацию. На самом ли деле VIM такой хороший редактор для начинающих?
Все, что нужно новичку, — это писать код, видеть, что происходит, и получать обратную связь. Всем приходится искать и устранять ошибки в коде, но с помощью простого и в тоже время эффективного визуального инструмента научиться этому можно гораздо быстрее.
Thonny — это простая IDE, разработанная для начинающих. Она предоставляет встроенный отладчик, показывающий, почему не работает код, и ассистента, указывающего на ошибки и предлагающего возможные способы решения. В общем, это идеальная IDE для обучения.
Настройка Thonny
Настроить Thonny не составляет труда. На момент написания статьи Thonny поставляется со встроенным Python 3.7.
Для начала войдем в Thonny и в верхней части страницы найдем установщика для OS:
Следуем инструкциям при установке и запускаем IDE по мере готовности:
Thonny приветствует нас активными элементами UI, скорее всего, ими будут редактор и оболочка. Однако вы всегда можете изменить элементы, отображающиеся в меню просмотра.
Не будем усложнять. Лучше начать работу со следующими окнами.
- Оболочка. Здесь вы наблюдайте непосредственный процесс выполнения кода.
- Заметки. Сюда добавляете рабочие заметки, чтобы сосредоточить все в одном месте (возможен вариант с сохранением псевдокода не в редакторе, а в этом окне).
- Переменные. Вы всегда знаете значения переменных. Поскольку они подвержены изменениям, то по мере роста программы легко потерять им счет.
- Ассистент. Это окно предоставляет текстовую информацию об ошибках в коде и подсказывает способы их устранения.
Индивидуальные настройки
Прежде чем переходить к обзору возможностей, уделим еще немного внимания настройкам.
Не вдаваясь в детали, отдельно рассмотрим несколько разделов.
Общие
У вас есть возможность разрешить запуск нескольких экземпляров Thonny вместо распределения файлов по вкладкам.
Кроме того, вы вольны переоткрыть файлы из предыдущего сеанса при возобновлении работы с IDE.
Редактор
Здесь речь пойдет об отличных настройках для редактора, позволяющих наглядно представить все, что происходит при написании кода. Например, вам могут пригодиться следующие.
- Подсветка совпадающих имен позволяет увидеть опечатки в переменных.
- Подсветка скобок помогает замечать отсутствие открывающейся или закрывающейся скобки.
- Подсветка синтаксических элементов отделяет синтаксис от текста или символов, упрощая обнаружение синтаксических ошибок.
Тема и шрифт
Темы и шрифты зависят от личных предпочтений. Выбирайте то, что понравится именно вам.
Уделите время поиску подходящего для вас стиля.
Функциональные возможности
А теперь пора познать всю прелесть Thonny.
После настройки IDE начинаем писать код. Создадим какой-нибудь некорректный код, чтобы увидеть ассистента в действии.
Справа в окне заметок представлены задания, слева — код. Как видно, в оболочке допущена ошибка, и ассистент спешит на помощь.
TypeError: unsupported operand type(s) for +: 'int' and 'str'
main.py, line 4
Ваша программа пытается соединить целое число и строку.
[+]Did you mean to treat both sides as text and produce a string? (Вы планировали, что обе стороны будут текстом, и на выходе получится строка?)
[+]Did you mean to treat both sides as numbers and produce a sum?(Вы планировали, что обе стороны будут числами, и на выходе получится их сумма?)
[+]Did you expect another type? (Вы ожидали другой тип?)
[+]Maybe you forgot some details about this operation? (Может вы упустили какие-то детали операции?)
Удивительно. Сначала ассистент уведомляет об ошибке — конкатенация int
и string
не допустима.
Затем сообщает, что программа пытается выполнить эту операцию в строке 4.
И наконец, интересуется, какие из предполагаемых действий подлежали выполнению. В данном случае в наше намерение входило получение string
для дальнейшего использования. Разворачивая первое предположение, получаем краткую инструкцию по реализации задуманного:
In this case you should apply function str to the integer in order to convert it to string first, eg:
str(42) + 'abc'
В этом случае сначала следует применить функцию str к целому числу для преобразования его в строку, например
str(42) + 'abc'
Таким образом новичок обретает фантастическую возможность получать мгновенную обратную связь по коду. Вы не только выясняете причину неработающего кода, но и параллельно узнаете что-то новое.
Отладка
Thonny позволяет проводить отладку кода. Создадим программу, содержащую ошибку “index out of range” (“индекс вне допустимого диапазона”).
my_list = ['one' , 'two' , 'three' , 'four']
for item in range(len(my_list)-1):
print(my_list[item])
my_list.pop()
Выполняя код, получаем:
one
two
Traceback (most recent call last):
File "/Users/martinandersson/Documents/python_dev/thonny/main.py", line 4, in <module>
print(my_list[item])
IndexError: list index out of range
Это значит, что он выводит первые два элемента в списке и прекращает работу. Причина очевидна. Поскольку мы удаляем элементы из итерируемого списка, в итоге их количество перестает соответствовать условиям работы цикла.
Когда цикл выполнится 2 раза, в списке не останется элементов, при этом range(len(my_list)-1)
будет настаивать на продолжении его работы.
Для отладки кода кликните значок с жучком:
Продолжайте нажимать на “Step Into/ Шаг с заходом” (F7) для пошагового просмотра кода.
Далее Thonny демонстрирует, как вычисляется диапазон цикла:
Ниже следует наглядное представление внутренней работы цикла:
Отображается весь список и индекс в конце. В данном случае в качестве вывода получаем ‘one’
. Индекс 0
равен ‘one’
.
Однако вследствие применения pop(
в цикле у нас закончатся индексы.
Обратите внимание на ассистента: Thonny не смог предложить решения проблемы. При желании, кликнув на ссылку обратной связи, вы можете сообщить разработчикам об ошибке, тем самым помогая кому-то в будущем.
Заключение
Thonny — простой и удобный инструмент, который подойдет как новичкам, так и профессионалам при необходимости быстро отладить код.
Однако хотелось бы более удобного распределения элементов UI. Поскольку у многих разработчиков широкие экраны, лучше расположить окно ассистента не под заметками, а рядом с ними. То же самое относится и к оболочке. Если разместить ее справа от редактора, то в нашем распоряжении окажется больше строк.
Помимо этого, было бы классно, если бы полосы прокрутки, заметки и ассистент предполагали настройки темных тем.
Не помешала бы и функция автозаполнения, избавляющая от необходимости вводить весть синтаксис, например []
,{}
,’’
,()
.
Если вы новичок или вам нужен простой инструмент для отладки кода, то Thonny как нельзя лучше подходит для этих целей. К тому же она никогда не будет лишней в вашем арсенале, даже если в будущем вы перейдете к более сложным инструментам.
Благодарю за внимание! Успехов в программировании.
Читайте также:
- Долгожданные инструкции Switch-Case в Python
- 7 способов повысить свою продуктивность в Python
- Создаем собственную Alexa в 20 строках Python
Читайте нас в Telegram, VK и Яндекс.Дзен
Перевод статьи Martin Andersson Aaberge: Meet Thonny, the Perfect IDE for Python Beginners