Как работать с интерактивной консолью Python

Введение

Интерактивная консоль Python (также называемая интерпретатором Python или оболочкой Python) предоставляет программистам быстрый способ выполнения команд и проверки или тестирования кода без создания файла.

Обеспечивая доступ ко всем встроенным функциям Python и любым установленным модулям, истории команд и автозавершению, интерактивная консоль предоставляет возможность изучать Python и возможность вставлять код в файлы программного обеспечения, когда вы будете готовы.

Этот учебник рассмотрит, как работать с интерактивной консолью Python и использовать ее в качестве инструмента программирования.

Предварительные условия

У вас должен быть установлен Python 3 и настроена среда программирования на вашем компьютере или сервере. Если у вас нет настроенной среды программирования, вы можете обратиться к руководствам по установке и настройке для локальной среды программирования или для среды программирования на вашем сервере, соответствующей вашей операционной системе (Ubuntu, CentOS, Debian и т. д.).

Вход в интерактивную консоль

Интерактивную консоль Python можно получить с любого локального компьютера или сервера, на котором установлен Python.

Командой, которую вы будете использовать для входа в интерактивную консоль Python для вашей версии Python по умолчанию, является:

  1. python3

Если вы используете локальную виртуальную среду Python, вы войдете в версию Python по умолчанию с помощью:

  1. python

Если вы настроили программную среду в соответствии с разделом “предварительные условия”, вы можете запустить и получить доступ к версии Python и модулям, установленным в этой среде, сначала введя в нее следующую команду:

  1. cd environments
  2. . my_env/bin/activate

Затем введите команду python:

  1. python

В этом случае версия Python по умолчанию – Python 3.8.10, которая отображается в выводе после ввода команды, вместе с соответствующим уведомлением о копирайте и некоторыми командами, которые вы можете ввести для получения дополнительной информации:

Output
Python 3.8.10 (default, Jun 2 2021, 10:49:15) [GCC 9.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>>

Основным приглашением для следующей команды является три больших знака “больше” (>>>):

Вы можете указать конкретные версии Python, добавив номер версии к вашей команде, без пробелов:

Примечание: С января 2020 года Python 2 был закрыт, и улучшения больше не будут вноситься. Чтобы узнать больше, обратитесь к [Постепенному выводу Python 2] (https://www.python.org/doc/sunset-python-2/)

  1. python2.7
Output
Python 2.7.18 (default, Mar 8 2021, 13:02:45) [GCC 9.3.0] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>

Здесь мы получили вывод о том, что будет использоваться Python 2.7.18. Если это наша версия Python 2 по умолчанию, мы также могли бы войти в эту интерактивную консоль с помощью команды python2.

В качестве альтернативы мы можем вызвать версию Python 3 по умолчанию с помощью следующей команды:

  1. python3
Output
Python 3.8.10 (default, Jun 2 2021, 10:49:15) [GCC 9.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>>

Мы также могли бы вызвать указанную выше интерактивную консоль с помощью команды python3.8.

После запуска интерактивной консоли Python мы можем перейти к работе с оболочкой для Python.

Работа с интерактивной консолью Python

Интерактивный интерпретатор Python принимает синтаксис Python, который вы вводите после префикса >>>.

Мы, например, можем присваивать значения переменным:

  1. birth_year = 1868

После того как мы присвоили целочисленное значение 1868 переменной birth_year, мы нажмем возврат и получим новую строку с префиксом из трех больших знаков “больше”:

  1. birth_year = 1868

Мы можем продолжать присваивать переменные и затем выполнять математические операции, чтобы получить возвращаемые вычисления:

>>> birth_year = 1868
>>> death_year = 1921
>>> age_at_death = death_year - birth_year
>>> print(age_at_death)
53
>>> 

Как и сценарии в файле, мы назначали переменные, вычитали одну переменную из другой и просили консоль напечатать переменную, которая представляет разницу.

Точно так же, как в любой форме Python, вы также можете использовать интерактивную консоль как калькулятор:

>>> 203 / 20
10.15
>>> 

Здесь мы разделили целое число 203 на 20 и получили частное 10.15.

Несколько строк

Когда мы пишем код Python, который занимает несколько строк, интерпретатор будет использовать вторичную подсказку для продолжения строк, три точки (...).

Чтобы выйти из этих строк продолжения, вам нужно будет нажать ENTER дважды.

Мы можем видеть, как это выглядит в следующем коде, который назначает две переменные, а затем использует условное выражение, чтобы определить, что выводить в консоль:

>>> sammy = 'Sammy'
>>> shark = 'Shark'
>>> if len(sammy) > len(shark):
...     print('Sammy codes in Java.')
... else:
...     print('Sammy codes in Python.')
... 
Sammy codes in Python.
>>> 

В этом случае длины двух строк равны, поэтому выполняется оператор else.
Обратите внимание, что вам нужно будет соблюдать соглашение о форматировании Python с четырьмя пробелами, в противном случае вы получите ошибку:

>>> if len(sammy) > len(shark):
... print('Sammy codes in Java.')
  File "<stdin>", line 2
    print('Sammy codes in Java.')
        ^
IndentationError: expected an indented block
>>> 

Вы можете не только экспериментировать с кодом на нескольких строках в консоли Python, но и импортировать модули.

Импорт модулей

Интерпретатор Python предоставляет быстрый способ проверить, доступны ли модули в определенной среде программирования. Вы можете сделать это, используя оператор import:

>>> import matplotlib
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'matplotlib'

В приведенном выше случае модуль matplotlib не был доступен в текущей среде программирования.

Для его установки нам нужно выйти из интерактивного интерпретатора и установить его с помощью pip, как обычно:

  1. pip install matplotlib
Output
Collecting matplotlib Downloading matplotlib-3.4.3-cp38-cp38-manylinux1_x86_64.whl (10.3 MB) ... Installing collected packages: numpy, python-dateutil, kiwisolver, pillow, pyparsing, cycler, matplotlib Successfully installed cycler-0.10.0 kiwisolver-1.3.1 matplotlib-3.4.3 numpy-1.21.2 pillow-8.3.1 pyparsing-2.4.7 python-dateutil-2.8.2

Как только модуль matplotlib вместе с его зависимостями успешно установлены, вы можете вернуться в интерактивный интерпретатор:

  1. python
  1. import matplotlib

На этом этапе вы не получите сообщение об ошибке и сможете использовать установленный модуль как в оболочке, так и в файле.

Покидание интерактивной консоли Python

Есть два основных способа покинуть интерактивную консоль Python: либо с помощью комбинации клавиш, либо с помощью функции Python.

Сочетание клавиш CTRL + D в системах на основе *nix или CTRL + Z, а затем клавиша CTRL в системах Windows прервет вашу консоль и вернет вас в исходное терминальное окружение:

...
>>> age_at_death = death_year - birth_year
>>> print(age_at_death)
53
>>> 
sammy@ubuntu:~/environments$ 

Кроме того, функция Python quit() завершит интерактивную консоль и также вернет вас в исходное терминальное окружение, в котором вы находились ранее:

>>> octopus = 'Ollie'
>>> quit()
sammy@PythonUbuntu:~/environments$ 

Когда вы используете функцию quit(), она будет отображаться в вашем файле истории, но сочетание клавиш CTRL + D не будет записано:

File: /home/sammy/.python_history
...
age_at_death = death_year - birth_year
print(age_at_death)
octopus = 'Ollie'
quit()

Выход из интерпретатора Python можно выполнить любым из этих способов, в зависимости от вашего рабочего процесса и потребностей в истории.

Доступ к истории

Одна из полезных функций интерактивной консоли Python заключается в том, что все ваши команды записываются в файл .python_history в системах на основе *nix, который вы можете просмотреть в текстовом редакторе, например, nano:

  1. nano ~/.python_history

После открытия в текстовом редакторе ваш файл истории Python будет выглядеть примерно так, с вашей собственной историей команд Python:

File: /home/sammy/.python_history
import pygame
quit()
if 10 > 5:
    print("hello, world")
else:
    print("nope")
sammy = 'Sammy'
shark = 'Shark'
...

Как только вы закончите работу с файлом, вы можете нажать CTRL + X, чтобы выйти из nano.

Отслеживая всю вашу историю Python, вы можете вернуться к предыдущим командам и экспериментам, скопировать, вставить или изменить этот код для использования в файлах программирования на Python или в Jupyter Notebook.

Заключение

Интерактивная консоль Python предоставляет пространство для экспериментов с кодом Python. Вы можете использовать ее в качестве инструмента для тестирования, выработки логики и многого другого.

Для использования при отладке файлов программирования на Python вы можете использовать модуль Python code, чтобы открыть интерактивный интерпретатор внутри файла, о чем вы можете прочитать в нашем руководстве Как отлаживать Python с интерактивной консолью.

Source:
https://www.digitalocean.com/community/tutorials/how-to-work-with-the-python-interactive-console