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

interactive.md

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

1> **Источник:** https://python-all.ru/3.7/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.7/tutorial/interactive.html), которая поддерживает различные стили редактирования. У этой библиотеки есть собственная документация, которую мы не будем здесь дублировать.1011## 14.1. Автодополнение по табуляции и редактирование истории1213Автодополнение имён переменных и модулей [автоматически включается](https://python-all.ru/3.7/library/site.html#rlcompleter-config) при запуске интерпретатора, так что клавиша `Tab` вызывает функцию автодополнения; она учитывает имена операторов Python, текущие локальные переменные и доступные имена модулей. Для выражений с точками, таких как `string.a`, вычисляется часть выражения до последней `'.'`, после чего предлагаются варианты дополнения из атрибутов полученного объекта. Обратите внимание, что это может привести к выполнению кода, определённого в приложении, если в выражении участвует объект с методом [`__getattr__()`](https://python-all.ru/3.7/reference/datamodel.html#object.__getattr__). В стандартной конфигурации история также сохраняется в файл `.python_history` в домашнем каталоге пользователя. История будет доступна снова при следующем сеансе работы в интерактивном интерпретаторе.1415## 14.2. Альтернативы интерактивному интерпретатору1617Эта возможность является огромным шагом вперед по сравнению с более ранними версиями интерпретатора; однако остаются некоторые пожелания: было бы хорошо, если бы правильный отступ предлагался на строках продолжения (парсер знает, требуется ли следующий токен отступа). Механизм автодополнения мог бы использовать таблицу символов интерпретатора. Также была бы полезна команда для проверки (или даже предложения) соответствующих скобок, кавычек и т.д.1819Одной из альтернатив с расширенными возможностями, которая существует уже довольно давно, является [IPython](https://python-all.ru/3.7/tutorial/interactive.html). Он предлагает автодополнение по табуляции, исследование объектов и расширенное управление историей. Его также можно тщательно настраивать и встраивать в другие приложения. Другая подобная среда с расширенными возможностями – [bpython](https://python-all.ru/3.7/tutorial/interactive.html).20