Spec-Zone.ru › Python 3.5

IDLE

Исходный код: Lib/idlelib/

IDLE — это интегрированная среда разработки и обучения для Python.

IDLE имеет следующие функции:

  • написан на 100% чистом Python, используя графический интерфейс пользователя tkinter
  • кроссплатформенный: работает практически одинаково на Windows, Unix и Mac OS X
  • окно интерпретатора Python (интерактивный интерпретатор) с цветовым выделением кода ввода, вывода и сообщений об ошибках
  • многооконный текстовый редактор с многократной отработкой undo, цветовым выделением Python, умным отступом, подсказками вызова, автодополнением и другими функциями
  • поиск внутри любого окна, замена внутри окон редактора и поиск по нескольким файлам (grep)
  • отладчик с сохраняемыми точками останова, шагом выполнения и просмотром глобальных и локальных пространств имён
  • настройки, браузеры и другие диалоговые окна

1. Меню

IDLE имеет два основных типа окон: окно интерпретатора и окно редактора. Можно иметь несколько окон редактора одновременно. Окна вывода, такие как используемые для редактирования/поиска в файлах, являются подтипом окна редактора. В настоящее время они имеют то же верхнее меню, что и окна редактора, но другое значение по умолчанию и контекстное меню.

Меню IDLE динамически изменяются в зависимости от того, какое окно выбрано в данный момент. Каждое из описанных ниже меню указывает, с каким типом окна оно связано.

1.1. Меню Файл (интерпретатор и редактор)

Новый файл
Создать новое окно редактора файла.
Открыть…
Открыть существующий файл с помощью диалогового окна «Открыть».
Последние файлы
Открыть список последних файлов. Нажмите на один, чтобы открыть его.
Открыть модуль…
Открыть существующий модуль (ищет в sys.path).
Браузер классов
Показать функции, классы и методы в текущем файле редактора в виде древовидной структуры. В интерпретаторе сначала откройте модуль.
Браузер путей
Показать каталоги sys.path, модули, функции, классы и методы в виде древовидной структуры.
Сохранить
Сохранить текущее окно в связанный файл, если он есть. Окна, изменённые после открытия или последнего сохранения, имеют * перед и после заголовка окна. Если связанного файла нет, используйте «Сохранить как».
Сохранить как…
Сохранить текущее окно с помощью диалогового окна «Сохранить как». Сохранённый файл становится новым связанным файлом для окна.
Сохранить копию как…
Сохранить текущее окно в другой файл без изменения связанного файла.
Печать окна
Распечатать текущее окно на стандартном принтере.
Закрыть
Закрыть текущее окно (спросить о сохранении, если оно не сохранено).
Выход
Закрыть все окна и выйти из IDLE (спросить о сохранении несохранённых окон).

1.2. Меню Правка (интерпретатор и редактор)

Отменить
Отменить последнее изменение в текущем окне. Можно отменить до 1000 изменений.
Повторить
Повторить последнее отменённое изменение в текущем окне.
Вырезать
Скопировать выделение в системный буфер обмена; затем удалить выделение.
Копировать
Скопировать выделение в системный буфер обмена.
Вставить
Вставить содержимое системного буфера обмена в текущее окно.

Функции буфера обмена также доступны в контекстных меню.

Выделить всё
Выделить всё содержимое текущего окна.
Найти…
Открыть диалоговое окно поиска со многими опциями
Найти снова
Повторить последний поиск, если он был.
Найти выделенное
Найти текущую выделенную строку, если она есть.
Найти во всех файлах…
Открыть диалоговое окно поиска по файлам. Поместить результаты в новое окно вывода.
Заменить…
Открыть диалоговое окно поиска и замены.
Перейти к строке
Переместить курсор к запрошенному номеру строки и сделать эту строку видимой.
Показать автодополнение
Открыть выпадающий список для выбора ключевых слов и атрибутов. См. Автодополнение в разделе Подсказок ниже.
Развернуть слово
Развернуть введённый префикс, чтобы найти полное слово в том же окне; повторите, чтобы получить другое расширение.
Показать подсказку вызова
После незакрытой скобки функции откроется небольшое окно с подсказками параметров функции.
Показать окружающие скобки
Выделить окружающие скобки.

1.3. Меню Формат (только окно редактора)

Отступ области
Сдвинуть выбранные строки вправо на ширину отступа (по умолчанию 4 пробела).
Убрать отступ области
Сдвинуть выбранные строки влево на ширину отступа (по умолчанию 4 пробела).
Закомментировать область
Вставить ## перед выбранными строками.
Раскомментировать область
Удалить ведущие # или ## из выбранных строк.
Преобразовать в табуляцию область
Преобразовать последовательности пробелов в начало строки в табуляции. (Примечание: Рекомендуется использовать блоки из 4 пробелов для отступа кода Python.)
Преобразовать область в пробелы
Преобразовать все табуляции в нужное количество пробелов.
Переключить табуляции
Открыть диалог для переключения между отступом с пробелами и табуляциями.
Новая ширина отступа
Открыть диалог для изменения ширины отступа. Принятым значением по умолчанию в сообществе Python является 4 пробела.
Форматировать абзац
Переформатировать текущий абзац, ограниченный пустыми строками, в блоке комментариев или многострочной строке, или выбранную строку в строке. Все строки в абзаце будут отформатированы на ширине меньше N столбцов, где N по умолчанию равно 72.
Удалить хвостовые пробелы
Удалить все пробелы после последнего символа, не являющегося пробелом, в строке.

1.4. Меню Выполнить (только окно редактора)

Окно интерпретатора Python
Открыть или активировать окно интерпретатора Python.
Проверить модуль
Проверить синтаксис модуля, открытого в окне редактора. Если модуль не сохранён, IDLE попросит пользователя сохранить его или автоматически сохранить, как выбрано на вкладке «Общие» в диалоговом окне настроек Idle. Если обнаружена синтаксическая ошибка, приблизительное местоположение указано в окне редактора.
Запустить модуль
Выполнить Проверить модуль (выше). Если ошибок нет, перезапустить интерпретатор для очистки среды, затем выполнить модуль. Результат выводится в окне интерпретатора. Обратите внимание, что вывод требует использования print или write. После завершения выполнения интерпретатор сохраняет фокус и отображает приглашение. На этом этапе можно интерактивно изучить результат выполнения. Это аналогично выполнению файла с помощью python -i file в командной строке.

1.5. Меню Интерпретатор (только окно интерпретатора)

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

1.6. Меню Отладка (только окно интерпретатора)

Перейти к файлу/строке
Просмотреть текущую строку с курсором и строку выше для имени файла и номера строки. Если найдено, открыть файл, если он ещё не открыт, и показать строку. Используется для просмотра строк исходного кода, указанных в следе исключения, и строк, найденных с помощью «Найти во всех файлах». Также доступно в контекстном меню окна интерпретатора и окон вывода.
Отладчик (переключить)
При активации код, введённый в интерпретатор или запущенный из редактора, будет выполняться под управлением отладчика. В редакторе точки останова можно задавать с помощью контекстного меню. Эта функция всё ещё находится в стадии разработки и частично экспериментальна.
Просмотр стека
Показать стек отслеживания последней ошибки в древовидном виджете с доступом к локальным и глобальным переменным.
Автоматическое открытие Просмотра стека
Включить/выключить автоматическое открытие просмотра стека при возникновении необработанной ошибки.

1.7. Меню Настройки (интерпретатор и редактор)

Настроить IDLE

Открыть диалоговое окно настроек и изменить предпочтения для следующих параметров: шрифты, отступы, сочетания клавиш, темы цветового оформления текста, окна и размер при запуске, дополнительные источники справки и расширения (см. ниже). В операционной системе OS X откройте диалоговое окно настроек, выбрав «Настройки» в меню приложения. Чтобы использовать новую встроенную тему оформления (IDLE Dark) со старыми версиями IDLE, сохраните её как новую пользовательскую тему.

Пользовательские настройки, отличные от значений по умолчанию, сохраняются в каталоге .idlerc в домашнем каталоге пользователя. Проблемы, вызванные неправильными файлами конфигурации пользователя, решаются путём редактирования или удаления одного или нескольких файлов в .idlerc.

Контекст кода (переключить)(только окно редактора)
Открыть область в верхней части окна редактора, которая показывает контекст блока кода, который прокрутился выше верхней части окна.

1.8. Меню Окно (интерпретатор и редактор)

Изменить высоту масштабирования
Переключает окно между обычным размером и максимальной высотой. Начальный размер по умолчанию составляет 40 строк по 80 символов, если не изменён на вкладке «Общие» в диалоговом окне «Настроить IDLE».

Остальные пункты меню отображают названия всех открытых окон; выберите одно, чтобы перевести его на передний план (развернув его при необходимости).

1.9. Меню Справка (интерпретатор и редактор)

О IDLE
Отобразить версию, авторские права, лицензию, благодарности и многое другое.
Справка по IDLE
Отобразить справочный файл по IDLE, описывающий параметры меню, основные методы редактирования и навигации, а также другие советы.
Документация Python
Получить доступ к локальной документации Python, если она установлена, или открыть веб-браузер и открыть docs.python.org, показывая последнюю документацию Python.
Демонстрация Черепахи
Запустить модуль демонстрации черепахи с примерами кода Python и чертежами черепахи.

Дополнительные источники справки могут быть добавлены здесь с помощью диалогового окна «Настроить IDLE» на вкладке «Общие».

1.10. Контекстные меню

Открыть контекстное меню, щелкнув правой кнопкой мыши в окне (нажатие Control-click в OS X). Контекстные меню содержат стандартные функции буфера обмена, также присутствующие в меню «Правка».

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

Окна редактора также имеют функции установки точек останова. Строки с установленной точкой останова помечаются особым образом. Точки останова действуют только при выполнении программы под отладчиком. Точки останова для файла сохраняются в каталоге .idlerc пользователя.

Установить точку останова
Установить точку останова на текущей строке.
Удалить точку останова
Удалить точку останова в этой строке.

Окна интерпретатора и вывода имеют следующее.

Перейти к файлу/строке
То же самое, что и в меню «Отладка».

2. Редактирование и навигация

В этом разделе «Ctrl» относится к клавише Ctrl на Windows и Unix и клавише Command на Mac OSX.

END_OF_DOCUMENT_MARKER
  • Backspace удаляет влево; Del удаляет вправо
  • C-Backspace удаляет слово влево; C-Del удаляет слово вправо
  • Клавиши со стрелками и Page Up/Page Down для перемещения
  • C-LeftArrow и C-RightArrow перемещает по словам
  • Home/End переход к началу/концу строки
  • C-Home/C-End переход к началу/концу файла
  • Некоторые полезные сочетания клавиш Emacs унаследованы от Tcl/Tk:

    • C-a начало строки
    • C-e конец строки
    • C-k удаление строки (но не помещает ее в буфер обмена)
    • C-l центрирование окна вокруг точки вставки
    • C-b переход назад на один символ без удаления (обычно для этого также можно использовать клавишу со стрелкой)
    • C-f переход вперед на один символ без удаления (обычно для этого также можно использовать клавишу со стрелкой)
    • C-p переход на строку выше (обычно для этого также можно использовать клавишу со стрелкой)
    • C-d удаление следующего символа

Стандартные сочетания клавиш (например, C-c для копирования и C-v для вставки) могут работать. Сочетания клавиш выбираются в диалоговом окне Настройка IDLE.

2.1. Автоматическое отступы

После оператора открытия блока следующая строка отступает на 4 пробела (в окне Python Shell — на один табулятор). После определенных ключевых слов (break, return и т. д.) следующая строка смещается влево. При вставке отступа, Backspace удаляет до 4 пробелов, если они есть. Tab вставляет пробелы (в окне Python Shell — один табулятор), количество зависит от ширины отступа. В настоящее время табуляция ограничена четырьмя пробелами из-за ограничений Tcl/Tk.

См. также команды области отступа/выравнивания в меню Правка.

2.2. Автодополнение

Автодополнение предлагается для функций, классов и атрибутов классов, как встроенных, так и определенных пользователем. Автодополнение также предоставляется для имен файлов.

Окно автодополнения (ACW) откроется после предварительно заданной задержки (по умолчанию — две секунды) после символа «.» или (в строке) os.sep. Если после одного из этих символов (плюс ноль или более других символов) нажимается клавиша Tab, ACW откроется немедленно, если найдено возможное продолжение.

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

«Показать автодополнение» принудительно откроет окно автодополнения, по умолчанию нажатие C-space откроет окно автодополнения. В пустой строке оно будет содержать файлы в текущей директории. В пустой строке оно будет содержать встроенные и определенные пользователем функции и классы в текущем пространстве имен, а также любые импортированные модули. Если были введены некоторые символы, ACW попытается быть более конкретным.

Если вводится строка символов, выбор в ACW перескочит на запись, наиболее точно соответствующую этим символам. Ввод tab приведет к вводу в окно редактора или оболочки самого длинного недвусмысленного совпадения. Два tab подряд обеспечат текущий выбор ACW, как и возврат или двойной щелчок. Клавиши со стрелками, Page Up/Down, выбор мышью и колесо мыши работают с ACW.

«Скрытые» атрибуты могут быть доступны, введя начало скрытого имени после «.» (например, «_»). Это позволяет получить доступ к модулям с __all__ или к атрибутам частным для класса.

Автодополнение и функция «Развернуть слово» могут существенно сократить написание кода!

Автодополнение в настоящее время ограничено пространствами имен. Имена в окне редактора, которые не являются результатом __main__ и sys.modules, не будут найдены. Запустите модуль один раз с вашими импортами, чтобы исправить эту ситуацию. Обратите внимание, что IDLE сам помещает довольно много модулей в sys.modules, поэтому многие из них можно найти по умолчанию, например, модуль re.

Если вам не нравится, что ACW появляется непроизвольно, просто увеличьте задержку или отключите расширение.

2.3. Подсказки вызовов

Подсказка вызова отображается при вводе ( после имени доступной функции. Выражение имени может включать точки и индексы. Подсказка вызова остается до тех пор, пока не будет нажата кнопка, курсор не будет перемещен из области аргумента или не будет нажат ). Когда курсор находится в части аргумента определения, в меню или в сочетании отображается подсказка вызова.

Подсказка вызова состоит из сигнатуры функции и первой строки строковой документации. Для встроенных функций без доступной сигнатуры подсказка вызова состоит из всех строк до пятой строки или до первой пустой строки. Эти детали могут измениться.

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

Например, перезапустите оболочку и введите itertools.count(. Появится подсказка вызова, потому что Idle импортирует itertools в процесс пользователя для собственного использования. (Это может измениться.) Введите turtle.write( и ничего не появится. Idle не импортирует turtle. Меню или сочетание клавиш тоже ничего не делают. Введите import turtle и затем turtle.write( будет работать.

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

2.4. Окно Python Shell

  • C-c прерывает выполнение команды
  • C-d отправляет конец файла; закрывает окно, если набран в запросе >>>
  • Alt-/ (Развернуть слово) также полезно для сокращения ввода

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

    • Alt-p извлекает предыдущую команду, соответствующую введенному вами. В ОС X используйте C-p.
    • Alt-n извлекает следующую. В ОС X используйте C-n.
    • Return в любой из предыдущих команд извлекает эту команду

2.5. Цвета текста

IDLE по умолчанию использует черный текст на белом фоне, но подсвечивает текст со специальным значением. Для оболочки это вывод оболочки, ошибка оболочки, вывод пользователя и ошибка пользователя. Для кода Python, в приглашении оболочки или в редакторе, это ключевые слова, встроенные имена классов и функций, имена после class и def, строки и комментарии. Для любого текстового окна это курсор (если присутствует), найденный текст (если это возможно) и выделенный текст.

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

3. Запуск и выполнение кода

При запуске с опцией -s, IDLE выполнит файл, на который ссылаются переменные среды IDLESTARTUP или PYTHONSTARTUP. IDLE сначала проверяет IDLESTARTUP; если IDLESTARTUP присутствует, запускается указанный файл. Если IDLESTARTUP отсутствует, IDLE проверяет PYTHONSTARTUP. Файлы, на которые ссылаются эти переменные среды, являются удобными местами для хранения часто используемых функций из оболочки IDLE или для выполнения операторов импорта для импорта общих модулей.

Кроме того, Tk также загружает файл запуска, если он присутствует. Обратите внимание, что файл Tk загружается безусловно. Этот дополнительный файл — .Idle.py, и он ищется в домашнем каталоге пользователя. Операторы в этом файле будут выполнены в пространстве имен Tk, поэтому этот файл не подходит для импорта функций, которые будут использоваться из оболочки Python IDLE.

3.1. Использование командной строки

idle.py [-c command] [-d] [-e] [-h] [-i] [-r file] [-s] [-t title] [-] [arg] ...

-c command  run command in the shell window
-d          enable debugger and open shell window
-e          open editor window
-h          print help message with legal combinations and exit
-i          open shell window
-r file     run file in shell window
-s          run $IDLESTARTUP or $PYTHONSTARTUP first, in shell window
-t title    set title of shell window
-           run stdin in shell (- must be last option before args)

Если есть аргументы:

  • Если используется -, -c, или r, все аргументы помещаются в sys.argv[1:...], а sys.argv[0] устанавливается в '', '-c', или '-r'. Окно редактора не открывается, даже если это значение по умолчанию установлено в диалоговом окне Параметры.
  • В противном случае, аргументы — это файлы, открытые для редактирования, и sys.argv отражает аргументы, переданные самому IDLE.

3.2. Отличия IDLE-консоли

По возможности, результат выполнения кода Python с IDLE такой же, как при выполнении того же кода в окне консоли. Однако различные интерфейс и способ работы иногда влияют на видимые результаты. Например, sys.modules начинается с большего количества записей.

IDLE также заменяет sys.stdin, sys.stdout, и sys.stderr на объекты, которые получают входные данные и отправляют выходные данные в окно Shell. Когда это окно имеет фокус, оно управляет клавиатурой и экраном. Это обычно прозрачно, но функции, напрямую обращающиеся к клавиатуре и экрану, не будут работать. Если sys сброшено с помощью importlib.reload(sys), изменения IDLE теряются, и такие вещи, как input, raw_input, и print не будут работать правильно.

С оболочкой IDLE вы вводите, редактируете и вспоминаете полные операторы. Некоторые консоли работают только с одной физической строкой за раз. IDLE использует exec для выполнения каждого оператора. В результате '__builtins__' всегда определено для каждого оператора.

3.3. Запуск без дочернего процесса

По умолчанию IDLE выполняет код пользователя в отдельном подпроцессе через сокет, который использует внутренний интерфейс петли обратной связи. Эта связь не видна извне и никакие данные не отправляются или не принимаются из интернета. Если программное обеспечение брандмауэра все же жалуется, вы можете проигнорировать это.

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

Если IDLE запускается с переключателем командной строки -n, он будет работать в одном процессе и не будет создавать подпроцесс, который выполняет сервер выполнения Python RPC. Это может быть полезно, если Python не может создать подпроцесс или интерфейс сокета RPC на вашей платформе. Однако в этом режиме код пользователя не изолирован от самого IDLE. Также среда не перезапускается при выборе «Выполнить/Выполнить модуль» (F5). Если ваш код был изменен, вы должны перезагрузить() соответствующие модули и повторно импортировать любые специфические элементы (например, из foo импортировать baz), если изменения должны вступить в силу. По этим причинам предпочтительнее запускать IDLE с помощью стандартного подпроцесса, если это вообще возможно.

Устарело начиная с версии 3.4.

4. Помощь и настройки

4.1. Дополнительные источники справки

IDLE включает пункт меню «Документация Python», который откроет обширные источники справки, включая учебники, доступные на docs.python.org. Выбранные URL-адреса можно добавлять или удалять из меню справки в любое время с помощью диалогового окна «Настройка IDLE». Более подробную информацию см. в разделе «Справка IDLE» в меню «Справка» IDLE.

4.2. Настройка параметров

Параметры шрифта, подсветки, клавиш и общие параметры можно изменить через «Настроить IDLE» в меню «Опции». Клавиши могут быть определены пользователем; IDLE поставляется с четырьмя встроенными наборами клавиш. Кроме того, пользователь может создать собственный набор клавиш в диалоговом окне «Настройка IDLE» на вкладке «Клавиши».

4.3. Расширения

IDLE содержит механизм расширений. Параметры расширений можно изменить с помощью «Настроить расширения». Более подробную информацию см. в начале файла config-extensions.def в каталоге idlelib. Текущие расширения по умолчанию:

  • FormatParagraph
  • AutoExpand
  • ZoomHeight
  • ScriptBinding
  • CallTips
  • ParenMatch
  • AutoComplete
  • CodeContext
  • RstripExtension

© 2001–2020 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.5/library/idle.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API