idle.md
1> **Источник:** https://python-all.ru/3.1/library/idle.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# 24.5. IDLE89IDLE – это интегрированная среда разработки (IDE) для Python, построенная на основе [`tkinter`](https://python-all.ru/3.1/library/tkinter.html#module-tkinter) – инструментария графического интерфейса.1011IDLE имеет следующие возможности:1213- написан на 100% чистом Python с использованием графического инструментария [`tkinter`](https://python-all.ru/3.1/library/tkinter.html#module-tkinter)14- кроссплатформенность: работает в Windows и Unix15- многооконный текстовый редактор с множественной отменой, раскраской синтаксиса Python и многими другими возможностями, например, умными отступами и подсказками при вызове функций16- Окно оболочки Python (также известное как интерактивный интерпретатор)17- отладчик (неполный, но можно устанавливать точки останова, просматривать и выполнять по шагам)1819## 24.5.1. Меню2021### 24.5.1.1. Меню «Файл»2223**Новое окно**2425создать новое окно редактирования2627**Открыть...**2829открыть существующий файл3031**Открыть модуль...**3233открыть существующий модуль (поиск в sys.path)3435**Обозреватель классов**3637показать классы и методы в текущем файле3839**Обозреватель путей**4041показать каталоги из sys.path, модули, классы и методы4243**Сохранить**4445сохранить текущее окно в связанный файл (у несохраненных окон звездочка \* стоит до и после заголовка окна)4647**Сохранить как...**4849сохранить текущее окно в новый файл, который становится связанным файлом5051**Сохранить копию как...**5253сохранить текущее окно в другой файл, не изменяя связанный файл5455**Закрыть**5657закрыть текущее окно (запрашивает сохранение, если не сохранено)5859**Выход**6061закрыть все окна и выйти из IDLE (запрашивает сохранение, если не сохранено)6263### 24.5.1.2. Меню «Правка»6465**Отменить**6667Отменить последнее изменение в текущем окне (максимум 1000 изменений)6869**Повторить**7071Повторить последнее отмененное изменение в текущем окне7273**Вырезать**7475Копировать выделение в системный буфер обмена; затем удалить выделение7677**Копировать**7879Копировать выделение в системный буфер обмена8081**Вставить**8283Вставить содержимое системного буфера обмена в окно8485**Выделить всё**8687Выделить все содержимое буфера редактирования8889**Найти...**9091Открыть диалоговое окно поиска с множеством параметров9293**Найти снова**9495Повторить последний поиск9697**Найти выделение**9899Искать строку в выделении100101**Найти в файлах...**102103Открыть диалоговое окно поиска файлов104105**Заменить...**106107Открыть диалоговое окно поиска и замены108109**Перейти к строке**110111Запросить номер строки и показать эту строку112113**Увеличить отступ области**114115Сдвинуть выделенные строки вправо на 4 пробела116117**Уменьшить отступ области**118119Сдвинуть выделенные строки влево на 4 пробела120121**Закомментировать область**122123Вставить ## перед выделенными строками124125**Раскомментировать область**126127Удалить начальные # или ## из выделенных строк128129**Заменить пробелы табуляцией в области**130131Превращает132133*начальные*134135последовательности пробелов в табуляцию136137**Заменить табуляцию пробелами в области**138139Превращает140141*все*142143табуляции в нужное количество пробелов144145**Дополнить слово**146147Дополняет введённое слово до другого слова в том же буфере; повторите, чтобы получить другое дополнение148149**Форматировать абзац**150151Переформатировать текущий абзац, разделённый пустыми строками152153**Импортировать модуль**154155Импортировать или перезагрузить текущий модуль156157**Запустить скрипт**158159Выполнить текущий файл в пространстве имён \_\_main\_\_160161### 24.5.1.3. Меню «Окна»162163**Развернуть по высоте**164165Переключает окно между нормальным размером (24x80) и максимальной высотой.166167Остальная часть этого меню содержит список всех открытых окон; выберите одно, чтобы вывести его на передний план (при необходимости развернув из свёрнутого состояния).168169### 24.5.1.4. Меню отладки (только в окне Python Shell)170171**Перейти к файлу/строке**172173ищет вокруг точки вставки имя файла и номер строки, открывает файл и показывает строку.174175**Открыть просмотрщик стека**176177показать трассировку стека последнего исключения178179**Переключение отладчика**180181Выполнять команды в оболочке под отладчиком182183**Переключение просмотрщика стека JIT**184185Открыть просмотрщик стека по трассировке186187## 24.5.2. Основы редактирования и навигации188189- `Backspace` удаляет символ слева; `Del` удаляет символ справа190- Клавиши со стрелками и `Page Up`/`Page Down` для перемещения191- `Home`/`End` переход к началу/концу строки192- `C-Home`/`C-End` go to begin/end of file193- Некоторые привязки клавиш **Emacs** также могут работать, включая `C-B`, `C-P`, `C-A`, `C-E`, `C-D`, `C-L`194195### 24.5.2.1. Автоматический отступ196197После оператора, открывающего блок, следующая строка получает отступ в 4 пробела (в окне оболочки Python – один табулятор). После некоторых ключевых слов (break, return и т.д.) отступ следующей строки уменьшается. В начале строки `Backspace` удаляет до 4 пробелов, если они есть. `Tab` вставляет 1–4 пробела (в окне оболочки Python – один табулятор). См. также команды увеличения/уменьшения отступа в меню правки.198199### 24.5.2.2. Окно оболочки Python200201- `C-C` прерывает выполнение команды202- `C-D` отправляет признак конца файла; закрывает окно, если набрано в приглашении `>>>`203- `Alt-p` извлекает предыдущую команду, совпадающую с введённым текстом204- `Alt-n` извлекает следующую205- `Return`, находясь на любой предыдущей команде, извлекает эту команду206- `Alt-/` (Expand word) также полезно здесь207208## 24.5.3. Цвета синтаксиса209210Раскраска применяется в фоновом «потоке», поэтому иногда можно увидеть неокрашенный текст. Чтобы изменить цветовую схему, отредактируйте раздел `[Colors]` в `config.txt`.211212**Цвета синтаксиса Python:**213214**Ключевые слова**215216оранжевый217218**Строки**219220зелёный221222**Комментарии**223224красный225226**Определения**227228синий229230**Цвета оболочки:**231232**Вывод консоли**233234коричневый235236**stdout**237238синий239240**stderr**241242тёмно-зелёный243244**stdin**245246чёрный247248## 24.5.4. Запуск249250При запуске с опцией `-s` IDLE выполняет файл, на который ссылаются переменные окружения **IDLESTARTUP** или [**PYTHONSTARTUP**](https://python-all.ru/3.1/using/cmdline.html#envvar-PYTHONSTARTUP). IDLE сначала проверяет `IDLESTARTUP`; если `IDLESTARTUP` присутствует, то выполняется указанный файл. Если `IDLESTARTUP` отсутствует, IDLE проверяет `PYTHONSTARTUP`. Файлы, на которые ссылаются эти переменные окружения, – удобное место для хранения функций, часто используемых в оболочке IDLE, или для выполнения операторов импорта для импорта общих модулей.251252Кроме того, `Tk` также загружает файл запуска, если он присутствует. Обратите внимание, что файл Tk загружается безусловно. Этот дополнительный файл – `.Idle.py` и находится в домашнем каталоге пользователя. Инструкции в этом файле будут выполняться в пространстве имён Tk, поэтому этот файл не подходит для импорта функций, предназначенных для использования в оболочке Python от Idle.253254### 24.5.4.1. Использование командной строки255256```python257idle.py [-c command] [-d] [-e] [-s] [-t title] [arg] ...258259-c command run this command260-d enable debugger261-e edit mode; arguments are files to be edited262-s run $IDLESTARTUP or $PYTHONSTARTUP first263-t title set title of shell window264```265266Если есть аргументы:2672681. Если используется `-e`, аргументы – это файлы, открытые для редактирования, и `sys.argv` отражает аргументы, переданные самому IDLE.2692. В противном случае, если используется `-c`, все аргументы помещаются в `sys.argv[1:...]`, при этом `sys.argv[0]` устанавливается в `'-c'`.2703. В противном случае, если не используется ни `-e`, ни `-c`, первый аргумент – это сценарий, который выполняется с остальными аргументами в `sys.argv[1:...]`, а `sys.argv[0]` устанавливается в имя сценария. Если имя сценария – ‘-‘, сценарий не выполняется, но запускается интерактивный сеанс Python; аргументы по-прежнему доступны в `sys.argv`.271