Thonny - идеальная IDE для новичков Python



Книга Thonny - идеальная IDE для новичков Python

Мечтаете освоить программирование на Python, но не знаете, с чего начать? Не волнуйтесь. Thonny станет вашим гидом на протяжении всего пути обучения  —  даже Python устанавливать не придется.


Новичкам бывает непросто настроить среду, а общение с опытными разработчиками может еще больше усложнить ситуацию. На самом ли деле VIM такой хороший редактор для начинающих? 


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


Thonny  —  это простая IDE, разработанная для начинающих. Она предоставляет встроенный отладчик, показывающий, почему не работает код, и ассистента, указывающего на ошибки и предлагающего возможные способы решения. В общем, это идеальная IDE для обучения. 


Настройка Thonny 


Настроить Thonny не составляет труда. На момент написания статьи Thonny поставляется со встроенным Python 3.7. 


Для начала войдем в Thonny и в верхней части страницы найдем установщика для OS:


Скачивание установщика в верней части страницы 

Следуем инструкциям при установке и запускаем IDE по мере готовности: 


Установка Thonny 

Thonny приветствует нас активными элементами UI, скорее всего, ими будут редактор и оболочка. Однако вы всегда можете изменить элементы, отображающиеся в меню просмотра. 


Окно редактора Thonny 

Thonny. Загрузка всех окон  

Не будем усложнять. Лучше начать работу со следующими окнами.


  • Оболочка. Здесь вы наблюдайте непосредственный процесс выполнения кода. 
  • Заметки. Сюда добавляете рабочие заметки, чтобы сосредоточить все в одном месте (возможен вариант с сохранением псевдокода не в редакторе, а в этом окне). 
  • Переменные. Вы всегда знаете значения переменных. Поскольку они подвержены изменениям, то по мере роста программы легко потерять им счет. 
  • Ассистент. Это окно предоставляет текстовую информацию об ошибках в коде и подсказывает способы их устранения. 

Простая и эффективная настройка 

Индивидуальные настройки 


Прежде чем переходить к обзору возможностей, уделим еще немного внимания настройкам. 


Не вдаваясь в детали, отдельно рассмотрим несколько разделов. 


Общие 


У вас есть возможность разрешить запуск нескольких экземпляров Thonny вместо распределения файлов по вкладкам. 


Кроме того, вы вольны переоткрыть файлы из предыдущего сеанса при возобновлении работы с IDE. 


Общие настройки 

Редактор 


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


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

Редактор 

Тема и шрифт 


Темы и шрифты зависят от личных предпочтений. Выбирайте то, что понравится именно вам.  


Уделите время поиску подходящего для вас стиля. 


Темы и шрифты 

Функциональные возможности 


А теперь пора познать всю прелесть Thonny. 


После настройки IDE начинаем писать код. Создадим какой-нибудь некорректный код, чтобы увидеть ассистента в действии. 


Справа в окне заметок представлены задания, слева  —  код. Как видно, в оболочке допущена ошибка, и ассистент спешит на помощь. 


Ошибка при конкатенации int и str

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 демонстрирует, как вычисляется диапазон цикла: 


Вычисление диапазона цикла 

Вычисляется длина списка, а следовательно и нижняя граница диапазона 

Перед началом работы цикла устанавливаются нижняя и верхняя границы диапазона 

Ниже следует наглядное представление внутренней работы цикла:


Войдя в цикл, можно увидеть, что пытается вывести Thonny 

Отображается весь список и индекс в конце. В данном случае в качестве вывода получаем ‘one’. Индекс 0 равен ‘one’.


Однако вследствие применения pop( в цикле у нас закончатся индексы. 


Спустя какое-то время индексы заканчиваются. Мы пытаемся вывести [2], выходящее за пределы новой длины списка. 

Получаем ошибку 

Обратите внимание на ассистента: Thonny не смог предложить решения проблемы. При желании, кликнув на ссылку обратной связи, вы можете сообщить разработчикам об ошибке, тем самым помогая кому-то в будущем. 


Заключение 


Thonny  —  простой и удобный инструмент, который подойдет как новичкам, так и профессионалам при необходимости быстро отладить код. 


Однако хотелось бы более удобного распределения элементов UI. Поскольку у многих разработчиков широкие экраны, лучше расположить окно ассистента не под заметками, а рядом с ними. То же самое относится и к оболочке. Если разместить ее справа от редактора, то в нашем распоряжении окажется больше строк. 


Помимо этого, было бы классно, если бы полосы прокрутки, заметки и ассистент предполагали настройки темных тем. 


Не помешала бы и функция автозаполнения, избавляющая от необходимости вводить весть синтаксис, например [],{},’’,().


Если вы новичок или вам нужен простой инструмент для отладки кода, то Thonny как нельзя лучше подходит для этих целей. К тому же она никогда не будет лишней в вашем арсенале, даже если в будущем вы перейдете к более сложным инструментам. 


Благодарю за внимание! Успехов в программировании. 


1485   0  

Comments

    Ничего не найдено.