如何使用Python交互式控制台

介绍

Python交互式控制台(也称为Python解释器或Python shell)为程序员提供了一种快速执行命令、尝试或测试代码而无需创建文件的方式。

通过提供对所有Python内置函数和任何已安装模块、命令历史记录以及自动补全的访问,交互式控制台为探索Python提供了机会,并在准备就绪时将代码粘贴到编程文件中。

本教程将介绍如何使用Python交互式控制台,并将其作为编程工具的优势。

先决条件

您应该已经安装了Python 3,并在您的计算机或服务器上设置了编程环境。如果您尚未设置编程环境,您可以参考安装和设置指南,针对您的操作系统(Ubuntu、CentOS、Debian等)提供一个本地编程环境或一个适用于您的服务器的编程环境。

进入交互式控制台

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 年 1 月,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 的 shell 环境下工作。

使用 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

此时您将不会收到错误消息,并且可以在 shell 中或文件中使用已安装的模块。

退出 Python 交互式控制台

退出 Python 交互式控制台有两种主要方法,一种是使用键盘快捷键,另一种是使用 Python 函数。

在*nix系统中,键盘快捷键CTRL + D,在Windows系统中为CTRL + Z,然后按CTRL键将中断您的控制台,并将您返回到原始终端环境:

...
>>> 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交互式控制台的一个有用之处在于,所有命令都记录在*nix系统中的.python_history文件中,您可以使用文本编辑器(例如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