Документация Python неофициальный перевод

interactive.md

20 строк · 4.6 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/3/tutorial/interactive.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# 14. Интерактивное редактирование ввода и подстановка истории89Некоторые версии интерпретатора Python поддерживают редактирование текущей строки ввода и подстановку истории, подобно тому, как это реализовано в оболочках Korn и GNU Bash. Эта возможность реализована с помощью библиотеки [GNU Readline](https://python-all.ru/3/tutorial/interactive.html), которая поддерживает различные стили редактирования. У этой библиотеки есть собственная документация, которую мы не будем здесь дублировать.1011## 14.1. Автодополнение по табуляции и редактирование истории1213Автодополнение имён переменных и модулей [автоматически включается](https://python-all.ru/3/library/site.html#rlcompleter-config) при запуске интерпретатора, так что клавиша `Tab` вызывает функцию автодополнения; она учитывает имена операторов Python, текущие локальные переменные и доступные имена модулей. Для выражений с точками, таких как `string.a`, вычисляется часть выражения до последней `'.'`, после чего предлагаются варианты дополнения из атрибутов полученного объекта. Обратите внимание, что это может привести к выполнению кода, определённого в приложении, если в выражении участвует объект с методом [`__getattr__()`](https://python-all.ru/3/reference/datamodel.html#object.__getattr__). В стандартной конфигурации история также сохраняется в файл `.python_history` в домашнем каталоге пользователя. История будет доступна снова при следующем сеансе работы в интерактивном интерпретаторе.1415## 14.2. Альтернативы интерактивному интерпретатору1617Эта возможность – огромный шаг вперёд по сравнению с ранними версиями интерпретатора; однако остаются некоторые пожелания. Было бы хорошо, если бы на строках продолжения предлагалась правильная расстановка отступов (синтаксический анализатор знает, требуется ли далее токен [`INDENT`](https://python-all.ru/3/library/token.html#token.INDENT)). Механизм автодополнения мог бы использовать таблицу символов интерпретатора. Также была бы полезна команда для проверки (или даже подсказки) соответствующих скобок, кавычек и т.д.1819Одной из альтернатив с расширенными возможностями, которая существует уже довольно давно, является [IPython](https://python-all.ru/3/tutorial/interactive.html). Он предлагает автодополнение по табуляции, исследование объектов и расширенное управление историей. Его также можно тщательно настраивать и встраивать в другие приложения. Другая подобная среда с расширенными возможностями – [bpython](https://python-all.ru/3/tutorial/interactive.html).20