Взаимодействие с редактированием ввода и подстановкой истории
Некоторые версии интерпретатора Python поддерживают редактирование текущей строки ввода и подстановку истории, аналогично функциям, найденным в оболочках Korn и GNU Bash. Это реализовано с помощью библиотеки GNU Readline, которая поддерживает различные стили редактирования. Эта библиотека имеет свою документацию, которую мы здесь не будем дублировать.
14.1. Автозаполнение по нажатию Tab и редактирование истории
Автозаполнение имён переменных и модулей автоматически включается при запуске интерпретатора, так что нажатие клавиши Tab вызывает функцию автозаполнения; она просматривает имена Python-операторов, текущие локальные переменные и доступные имена модулей. Для точечных выражений, таких как string.a, она вычислит выражение до последнего '.' и затем предложит автозаполнение из атрибутов получившегося объекта. Обратите внимание, что это может выполнить код, определённый приложением, если в выражении присутствует объект с методом __getattr__(). По умолчанию конфигурация также сохраняет вашу историю в файл с именем .python_history в вашем пользовательском каталоге. История будет доступна снова во время следующей сессии интерактивного интерпретатора.
14.2. Альтернативы интерактивному интерпретатору
Эта возможность — огромный шаг вперёд по сравнению с предыдущими версиями интерпретатора; однако, некоторые пожелания остаются: было бы неплохо, если бы правильная отступы предлагались в строках продолжения (парсер знает, требуется ли токен отступа дальше). Механизм автозаполнения мог бы использовать таблицу символов интерпретатора. Команда для проверки (или даже предложения) соответствия скобок, кавычек и т. д. также была бы полезной.
Одним из альтернативных расширенных интерактивных интерпретаторов, которые существовали довольно долго, является IPython, который имеет автозаполнение, изучение объектов и расширенное управление историей. Он также может быть полностью настраиваемым и встроенным в другие приложения. Ещё одной аналогичной расширенной интерактивной средой является bpython.
© 2001–2024 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.12/tutorial/interactive.html