Spec-Zone.ru › Python 3.11

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

Некоторые версии интерпретатора Python поддерживают редактирование текущей строки ввода и подстановку из истории, подобно возможностям оболочек Korn и 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.11/tutorial/interactive.html

Spec-Zone.ru

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