如何使用Python交互式控制台

来自菜鸟教程
跳转至:导航、​搜索

介绍

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

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

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

先决条件

您应该在您的计算机或服务器上安装 Python 3 并设置编程环境。 如果您没有设置编程环境,您可以参考本地编程环境或服务器上的编程环境适合您的操作的安装和设置指南系统(Ubuntu、CentOS、Debian 等)

进入交互式控制台

可以从任何安装了 Python 的本地计算机或服务器访问 Python 交互式控制台。

您将用于输入默认 Python 版本的 Python 交互式控制台的命令是:

python3

如果您使用的是本地虚拟 Python 环境,您将输入 Python 的默认版本:

python

如果您根据先决条件部分设置了编程环境,您可以通过首先使用以下命令进入该环境来启动和访问您在该环境中安装的 Python 和模块的版本:

cd environments
. my_env/bin/activate

然后输入 python 命令:

python

在这种情况下,Python 的默认版本是 Python 3.8.10,一旦我们输入命令,它就会显示在输出中,以及相关的版权声明和一些您可以键入以获取额外信息的命令:

OutputPython 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 已日落,将不再进行改进。 了解更多,参考【Sunsetting Python 2】(【X47X】https://www.python.org/doc/sunset-python-2/【X94X】)


python2.7
OutputPython 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 版本:

python3
OutputPython 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 语法,您将其放在 >>> 前缀之后。

例如,我们可以给 variables 赋值:

birth_year = 1868

一旦我们将 1868 的整数值分配给变量 birth_year,我们将按回车键并接收一个带有三个大于号作为前缀的新行:

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.
>>> 

在这种情况下,两个 strings 的长度相等,因此 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 安装:

pip install matplotlib
OutputCollecting 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 模块及其依赖项后,您可以返回交互式解释器:

python
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

文件:/home/sammy/.python_history

...
age_at_death = death_year - birth_year
print(age_at_death)
octopus = 'Ollie'
quit()

退出 Python 解释器可以通过任何一种方式完成,具体取决于对您的工作流程和历史需求有意义的方式。

访问历史

Python 交互式控制台的一个有用之处在于,您的所有命令都记录到基于 *nix 的系统中的 .python_history 文件中,您可以在诸如 nano 之类的文本编辑器中查看该文件,例如:

nano ~/.python_history

使用文本编辑器打开后,您的 Python 历史记录文件将如下所示,并带有您自己的 Python 命令历史记录:

文件:/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 [ X231X]。