介绍
Python 交互式控制台(也称为 Python 解释器或 Python 壳)为程序员提供了执行命令并尝试或测试代码的快速方法,而无需创建文件。
提供访问Python的所有内置功能和任何安装的模块,命令历史和自动完成,交互式控制台提供了探索Python的机会,并在准备时将代码粘贴到编程文件的能力。
本教程将介绍如何使用Python交互式控制台,并将其作为一个编程工具。
前提条件
如果您没有设置编程环境,您可以参考本地编程环境的安装和安装指南(https://www.digitalocean.com/community/tutorial_series/how-to-install-and-set-up-a-local-programming-environment-for-python-3)或适用于您的操作系统(Ubuntu, CentOS, Debian 等)的编程环境(https://www.digitalocean.com/community/tutorial_collections/how-to-install-python-3-and-set-up-a-programming-environment)。
进入互动控制台
Python 互动控制台可以从安装 Python 的任何本地计算机或服务器访问。
您将使用的命令来输入您的Python默认版本的Python互动控制台是:
1python3
如果您正在使用本地虚拟Python环境,您将输入Python的默认版本:
1python
如果您根据先决条件部分设置了编程环境,您可以通过使用以下命令先输入该环境中所安装的 Python 版本和模块来启动并访问它:
1cd environments
2. my_env/bin/activate
然后输入python
命令:
1python
在这种情况下,Python的默认版本是Python 3.8.10,当我们输入命令时,它在输出中显示,以及相关的版权通知和一些命令,您可以输入额外信息:
1[secondary_label Output]
2Python 3.8.10 (default, Jun 2 2021, 10:49:15)
3[GCC 9.4.0] on linux
4Type "help", "copyright", "credits" or "license" for more information.
5>>>
下一个命令的主要提示是三大标志(>>>
):
您可以通过将版本号附加到您的命令中来瞄准特定版本的 Python,没有空白:
<$>[注] 注: 截至 2020 年 1 月,Python 2 已进入日落,不再进行改进。 有关更多信息,请参阅 Sunsetting Python 2 <$>
1python2.7
1[secondary_label Output]
2Python 2.7.18 (default, Mar 8 2021, 13:02:45)
3[GCC 9.3.0] on linux2
4Type "help", "copyright", "credits" or "license" for more information.
5>>>
如果这是我们的Python 2的默认版本,我们也可以用python2
命令进入这个交互式控制台。
或者,我们可以用以下命令调用默认Python 3版本:
1python3
1[secondary_label Output]
2Python 3.8.10 (default, Jun 2 2021, 10:49:15)
3[GCC 9.4.0] on linux
4Type "help", "copyright", "credits" or "license" for more information.
5>>>
我们还可以用python3.8
命令称呼上述交互式控制台。
随着 Python 交互式控制台的运行,我们可以继续使用 Python 的壳环境。
使用 Python 互动控制台
Python 交互式解释器接受 Python 语法,您将其放置在前缀 `>>> 后面。
例如,我们可以将值分配给 变量:
1birth_year = 1868
一旦我们将1868
的整数值分配给变量出生_年
,我们将按返回并收到一个新的行,前缀为三个大于符号:
1birth_year = 1868
我们可以继续分配变量,然后 执行数学操作员以返回计算:
1>>> birth_year = 1868
2>>> death_year = 1921
3>>> age_at_death = death_year - birth_year
4>>> print(age_at_death)
553
6>>>
就像我们在文件中的脚本一样,我们分配变量,从另一个变量中提取一个变量,并要求控制台打印代表差异的变量。
就像任何形式的Python一样,您也可以使用交互式控制台作为计算器:
1>>> 203 / 20
210.15
3>>>
在这里,我们将整数203
分为20
,并返回了10.15
的系数。
多线路
当我们写一个涵盖多个行的Python代码时,翻译器将使用连续线的次要提示,三个点(...
)。
要突破这些延续行,您需要按两次ENTER
。
我们可以在以下代码中看到这种情况,该代码分配了两个变量,然后使用了 条件声明来确定要打印到控制台的内容:
1>>> sammy = 'Sammy'
2>>> shark = 'Shark'
3>>> if len(sammy) > len(shark):
4... print('Sammy codes in Java.')
5... else:
6... print('Sammy codes in Python.')
7...
8Sammy codes in Python.
9>>>
在这种情况下,两个字符串的长度(https://www.digitalocean.com/community/tutorial_series/working-with-strings-in-python-3)是相等的,所以else
声明打印
请注意,你需要保持Python的四个白空间的印刷协议,否则你会收到一个错误:
1>>> if len(sammy) > len(shark):
2... print('Sammy codes in Java.')
3 File "<stdin>", line 2
4 print('Sammy codes in Java.')
5 ^
6IndentationError: expected an indented block
7>>>
您不仅可以在Python控制台中通过多个行进行代码实验,还可以导入模块。
进口模块
Python 解释器为您提供了一种快速的方式来检查模块是否在特定编程环境中可用。
1>>> import matplotlib
2Traceback (most recent call last):
3 File "<stdin>", line 1, in <module>
4ImportError: No module named 'matplotlib'
在上述情况下,模块 matplotlib在当前的编程环境中不可用。
为了安装它,我们需要离开交互式解释器,并像往常一样与 pip 安装:
1pip install matplotlib
1[secondary_label Output]
2Collecting matplotlib
3 Downloading matplotlib-3.4.3-cp38-cp38-manylinux1_x86_64.whl (10.3 MB)
4
5...
6Installing collected packages: numpy, python-dateutil, kiwisolver, pillow, pyparsing, cycler, matplotlib
7Successfully 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 模块及其依赖组件成功安装,您可以返回交互式解释器:
1python
1import matplotlib
在此时,您将不会收到任何错误消息,您可以使用已安装的模块,无论是在壳中还是在文件中。
退出 Python 互动控制台
有两种主要方法可以离开 Python 交互式控制台,无论是使用键盘快捷或 Python 函数。
在 *nix 基于系统中的键盘缩写CTRL
+D
或CTRL
+Z
然后在 Windows 系统中的CTRL
键会中断您的控制台并将您返回原始终端环境:
1...
2>>> age_at_death = death_year - birth_year
3>>> print(age_at_death)
453
5>>>
6sammy@ubuntu:~/environments$
或者,Python函数quit()
将退出交互式控制台,并将您带回您以前所处的原始终端环境:
1>>> octopus = 'Ollie'
2>>> quit()
3sammy@PythonUbuntu:~/environments$
当您使用函数 quit()
时,它将出现在您的历史文件中,但键盘快捷键 CTRL
+ D
将不会被记录:
1[label File: /home/sammy/.python_history]
2...
3age_at_death = death_year - birth_year
4print(age_at_death)
5octopus = 'Ollie'
6quit()
退出 Python 解释器可以以任何方式完成,这取决于您的工作流和历史需要有什么意义。
访问历史
关于 Python 交互式控制台的有用之处之一是,在 *nix 系统中,您的所有命令都登录到 .python_history
文件中,例如,您可以在 nano 等文本编辑器中查看:
1nano ~/.python_history
一旦用文本编辑器打开,您的Python历史文件将看起来像这样,有自己的Python命令历史:
1[label File: /home/sammy/.python_history]
2import pygame
3quit()
4if 10 > 5:
5 print("hello, world")
6else:
7 print("nope")
8sammy = 'Sammy'
9shark = 'Shark'
10...
一旦你完成了你的文件,你可以按CTRL
+X
离开纳米。
通过跟踪您的所有 Python 历史,您可以回到以前的命令和实验,并复制和粘贴或修改该代码用于 Python 编程文件或 Jupyter 笔记本。
结论
Python 交互式控制台提供了一个空间来尝试 Python 代码,您可以使用它作为测试工具,研究逻辑等。
用于调试Python编程文件,您可以使用Python代码
模块在文件中打开一个交互式解释器,您可以在我们的指南中阅读(How To Debug Python with an Interactive Console)。