Код
#статьи

Основы IDLE в Python: от запуска до первой программы

Среда разработки, которая приходит вместе с Python, но о ней почти никто не знает.

Иллюстрация: Оля Ежак для Skillbox Media

IDLE — это стандартная среда разработки Python, которая помогает учить язык программирования и подходит для написания простых программ.

Содержание

Что такое IDLE

IDLE (integrated development and learning environment) — среда разработки для написания кода на языке Python. Фактически она состоит из двух частей: редактора кода и интерпретатора команд, который также называют интерактивной оболочкой, или IDLE Shell. В среду разработки интегрирован отладчик кода, облегчающий поиск и исправление ошибок.

IDLE — это кросс-платформенное приложение, которое работает на Windows, macOS и Linux. Оно написано на Python и Tkinter — библиотеке для создания графических пользовательских интерфейсов (GUI).

Функциональность у IDLE намного ниже, чем у продвинутых IDE, например PyCharm или VS Code. Она не подойдёт для крупных проектов с большим количеством файлов, где требуется точно настроить параметры отладки и провести глубокий анализ кода. Но в ней можно решать задачи и изучать Python, быстро проверяя написанный код.

К достоинствам IDLE можно отнести её небольшой размер и быструю работу. Она весит всего несколько мегабайт и не требует отдельной установки, так как устанавливается на компьютер вместе с Python.

Запуск IDLE в Python

Мы будем работать с IDLE в Windows. В других операционных системах среда разработки функционирует аналогично. Единственное различие — на macOS для горячих клавиш используйте ⌘ вместо Alt.

Войдите в меню Пуск и найдите раздел Python 3.x, где x — номер версии Python, которая установлена на компьютере. В разделе находится ярлык для запуска IDLE:

Ярлык для запуска IDLE в разделе с Python
Скриншот: Skillbox Media

Второй путь — откройте поисковую строку рядом с меню Пуск. Введите в ней IDLE.

IDLE можно быстро найти в поисковой строке
Скриншот: Skillbox Media

IDLE работает в двух режимах: интерактивном режиме (Shell Mode) и режиме редактирования (Edit Mode). Рассмотрим каждый из них подробнее.

Работа в интерактивном режиме

Интерактивный режим используется для быстрой проверки кода и обучения языку. Написанный в нём код сразу же выполняется, без сохранения в файл. Чтобы начать работу в интерактивном режиме, просто кликните на ярлык IDLE и запустите программу.

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

Введённый код сразу же выполняется внутри интерактивного режима
Скриншот: Skillbox Media

Интерактивный режим также называется Python REPL (read-eval-print loop): read — интерпретатор считывает команды, eval — выполняет их, print — выводит результат, loop — повторяет этот цикл.

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

  • Быстрое тестирование работоспособности кода. IDLE удобно использовать для проверки выражений и функций.
  • Обучение программированию на Python. В процессе чтения книг или просмотра видео полезно повторять код за автором или преподавателем. В IDLE это можно делать быстро, не думая о создании и сохранении файлов программы.
  • Пошаговое выполнение кода для просмотра изменений в значениях переменных и поиска ошибок. Для этого потребуется запустить режим отладки, про который мы поговорим дальше.
  • Проверка работоспособности и тестирование библиотек и модулей до их внедрения в приложение. Можно загрузить свой проект, импортировать новые библиотеки и посмотреть на их сочетаемость и возникающие ошибки.

Как запустить интерактивный режим

Интерактивный режим открывается по умолчанию при запуске IDLE. Если вы хотите перейти в него из режима редактирования, выберите в меню опцию Python Shell.

Интерактивную оболочку также можно перезапускать, не закрывая и не перезагружая всю среду IDLE. Для этого выберите в главном меню Shell → Restart Shell или используйте горячие клавиши Ctrl + F6. Весь предыдущий вывод, переменные и состояние будут утеряны, и вы начнёте работу с чистого листа.

Для примера запустим бесконечный цикл, который запрашивает число и выводит его на печать, и прервём его выполнение:

Скриншот: Skillbox Media

Если бы мы не прервали выполнение через меню, то программа продолжила бы запрашивать у нас числа.

Чтобы облегчить работу с кодом, IDLE предлагает несколько функций, которые доступны в обоих режимах: автоматическую расстановку отступов, подсветку синтаксиса, подсказки к коду, автозавершение фраз и конструкций и вывод истории команд.

Отступы

IDLE автоматически добавляет отступы с учётом предыдущего уровня вложенности. По умолчанию используется отступ в четыре пробела.

Стандартный отступ можно настроить, задав необходимое количество пробелов
Скриншот: Skillbox Media

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

В интерактивном режиме используются символы для указания на блок кода с отступами. Их видно в левой части окна:

Скриншот: Skillbox Media

Отступы автоматически добавляются при вводе циклов for, while, условных операторов if, else, elif и функций. Если вы напечатаете выражение pass, return, break, continue, raise и нажмёте Enter, каретка автоматически вернётся к предыдущему уровню отступов.

Подсветка

Чтобы упростить чтение кода, в среде IDLE используется подсветка синтаксиса (syntax highlighting). Это визуальное выделение элементов кода, при котором некоторые его части — ключевые слова, строки, комментарии, числа и операторы — будут окрашены в разные цвета в зависимости от своего функционального назначения.

Подсветка синтаксиса включена по умолчанию. Её параметры можно настроить в Options → Configure IDLE → Highlighting. В открывшемся окне можно изменить цвет частей кода и фона, создать собственный стиль подсветки или выбрать готовый. Чтобы сохранить изменения, нажмите Apply или Ok.

Выберем тему IDLE Dark и красный цвет для комментариев. Теперь весь код будет подсвечен именно так, как показано в окне программы:

Скриншот: Skillbox Media

Подсказки

Они облегчают работу с функциями, особенно когда необходимо передать несколько аргументов.

Когда вы набираете открывающую скобку после имени функции, IDLE автоматически покажет подсказку, в которой будут указаны её аргументы и их описание. Чтобы выбрать предложенный аргумент из списка, нажмите Enter.

Подсказка с аргументами функции
Скриншот: Skillbox Media

Подсказка будет отображаться до тех пор, пока вы не закроете скобку.

Автозавершение фраз и конструкций

IDLE поддерживает функцию автозавершения, которая автоматически завершает фразы и названия переменных.

Когда вы начнёте вводить название переменной или функции, нажмите Tab или Alt + /, и программа предложит дополнить его. Если есть несколько вариантов, то они будут показаны в виде списка. Для выбора нужного элемента из него нажмите горячую клавишу ещё раз.

История команд

Вы можете повторно использовать предыдущие команды без их перепечатывания:

  • Чтобы перейти к предыдущей команде в интерактивном режиме, установите курсор на новую строку и используйте комбинацию клавиш Alt + P.
  • Чтобы перейти к следующей команде, нажмите Alt + N.
  • Чтобы использовать найденную команду, установите курсор в её конец и нажмите Enter.

Работа в режиме редактирования

Этот режим схож с аналогичными режимами в других редакторах кода и IDE. В нём можно создавать проекты и сохранять написанный код в файлы.

Чтобы войти в режим редактирования, создайте новый файл или откройте существующий в формате .py. Для этого выберите в главном меню File → New file или File → Open.

Скриншот: Skillbox Media

Откроется окно редактора кода.

Скриншот: Skillbox Media

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

Пишем первую программу в IDLE

Наша программа будет вычислять сумму двух чисел, которые вводит пользователь. Запустим IDLE и выберем в главном меню File → New file (можно нажать CTRL + N). В открывшемся редакторе напишем код:

# Программа для вычисления суммы двух чисел


# Функция для вычисления суммы
def calculate_sum(num1, num2):
    result = num1 + num2
    return result


# Ввод первого числа от пользователя
num1 = float(input("Введите первое число: "))


# Ввод второго числа от пользователя
num2 = float(input("Введите второе число:"))


# Вызов функции для вычисления суммы
sum_result = calculate_sum(num1, num2)


# Вывод результата
print("Сумма чисел {} и {} равна: {}".format(num1, num2, sum_result))

Что делает код:

  • Запрашивает у пользователя ввод первого числа.
  • Запрашивает у пользователя ввод второго числа.
  • Вычисляет сумму введённых чисел.
  • Выводит результат на экран.

Теперь, чтобы запустить программу, выберите в главном меню Run → Run Module или нажмите F5. Перед запуском программа предложит сохранить код в файл:

Скриншот: Skillbox Media

Папку и название файла выбираем сами:

Скриншот: Skillbox Media

После сохранения файла автоматически запустится интерактивный режим и начнётся выполнение кода.

Введём оба числа, и программа выдаст нам их сумму:

Скриншот: Skillbox Media

Отладка

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

Для работы с отладчиком запустите IDLE в режиме Shell и выберите в главном меню Debug → Debugger. Откроется окно отладки:

Окно отладки в IDLE
Скриншот: Skillbox Media

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

  • Go — выполняет код до следующей точки останова.
  • Step — выполняет следующую строку кода и приостанавливает программу.
  • Over — выполняет следующую строку кода, но если это функция, то будет вызвана сама функция и выполнен весь её код.
  • Out — запускает выполнение строк кода в обычном режиме до тех пор, пока не будет выполнен возврат из текущей функции.
  • Quit — останавливает выполнение программы.

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

  • Globals: глобальные переменные.
  • Locals: локальные переменные.
  • Stack: вызываемые функции.
  • Source: исходный код в открытом файле.

В зависимости от их выбора, мы можем настроить процесс отладки. Например, выбрав Locals, мы увидим, как меняются локальные переменные при выполнении кода.

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

Скриншот: Skillbox Media

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

Нажмите правой кнопкой мыши на нужную строку кода и выберите пункт меню Set Breakpoint. Выбранная строка подсветится жёлтым цветом. Чтобы удалить точку останова, нужно нажать Clear Breakpoint.

Подсветка точек останова в IDLE
Скриншот: Skillbox Media

Мы установили две точки останова: одну в основной части кода, другую в функции calculate_sum (). Теперь, если вы нажмёте на кнопку Go в отладчике, код будет выполняться до первой точки останова. Чтобы дойти до второй точки, нажмите на кнопку Over. Для завершения нажмите Out.

Если в интерпретаторе появилось сообщение об ошибке, можно перейти к строке или файлу, которые вызвали эту ошибку. Для этого нужно выделить курсором имя строки или файла и выбрать в строке меню Debug → Go to file/line.

Подведём итоги

Резюме по тому, о чём рассказали в статье:

  • IDLE — среда разработки на языке Python с ограниченной функциональностью. Её можно использовать для обучения, решения несложных задач и разработки небольших проектов.
  • Среда разработки работает в двух режимах: интерактивном, где код выполняется пошагово, и в режиме редактора, где можно создавать, редактировать и сохранять программы в файлы.
  • В IDLE можно искать ошибки с помощью отладчика: запускать режим отладки в интерпретаторе, настраивать точки останова, выполнять трассировку кода, отслеживать значения переменных.

Больше интересного про код — в нашем телеграм-канале.  Подписывайтесь!

Жизнь можно сделать лучше!
Освойте востребованную профессию, зарабатывайте больше и получайте от работы удовольствие.
Каталог возможностей
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована