Взаимодействие с интерактивным интерпретатором и подстановка из истории
Некоторые версии интерпретатора Python поддерживают редактирование текущей строки ввода и подстановку из истории, аналогично возможностям оболочек Korn и GNU Bash. Это реализовано с помощью библиотеки GNU Readline, которая поддерживает различные стили редактирования. Эта библиотека имеет свою документацию, которую мы здесь не будем дублировать.
14.1. Автодополнение и редактирование истории
Автодополнение имён переменных и модулей автоматически включено при запуске интерпретатора, так что нажатие клавиши 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.13/tutorial/interactive.html