Spec-Zone.ru › Python 3.10

Взаимодействие с интерактивным интерпретатором и подстановка истории

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

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

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

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

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

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

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

Spec-Zone.ru

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