Spec-Zone.ru › Python 3.14

Интерактивное редактирование ввода и подстановка из истории

Некоторые версии интерпретатора Python поддерживают редактирование текущей строки ввода и подстановку из истории — подобно возможностям оболочек Korn shell и GNU Bash. Эта функциональность реализована с помощью библиотеки GNU Readline, поддерживающей различные стили редактирования. У этой библиотеки есть собственная документация, которую мы не будем здесь дублировать.

14.1. Автодополнение по клавише Tab и редактирование истории

Автодополнение имён переменных и модулей включается автоматически при запуске интерпретатора, поэтому клавиша Tab вызывает функцию автодополнения. Она проверяет имена операторов Python, текущие локальные переменные и доступные имена модулей. Для выражений с точками, таких как string.a, функция вычислит выражение до последнего '.' и предложит варианты автодополнения на основе атрибутов полученного объекта. Обратите внимание: это может привести к выполнению кода, определённого приложением, если выражение содержит объект с методом __getattr__(). При использовании конфигурации по умолчанию история сохраняется в файл с именем .python_history в вашем пользовательском каталоге. История будет доступна и во время следующего сеанса интерактивного интерпретатора.

14.2. Альтернативы интерактивному интерпретатору

Эта функция — огромный шаг вперёд по сравнению с более ранними версиями интерпретатора, однако некоторые пожелания остаются нереализованными. Было бы полезно, если бы на строках продолжения автоматически предлагались правильные отступы (парсер знает, нужен ли следующий токен INDENT). Механизм автодополнения мог бы использовать таблицу символов интерпретатора. Также была бы полезна команда для проверки (или даже предложения вариантов) соответствия скобок, кавычек и т. д.

Одна из альтернатив — усовершенствованный интерактивный интерпретатор IPython, существующий уже довольно давно. Он поддерживает автодополнение по клавише Tab, исследование объектов и расширенное управление историей. Его также можно подробно настраивать и встраивать в другие приложения. Другая похожая усовершенствованная интерактивная среда — bpython.

© 2001 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.14/tutorial/interactive.html

Spec-Zone.ru

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