与Python解释器进行交互

刚才我们说过,Python解释器是用来执行Python代码的软件。 Python解释器除了能读取文件中的代码执行,也支持在终端上读取我们输入的表达式和语句执行并展示结果——这很方便大家学习Python。 我们来看看如何启动Python解释器的“交互模式”。

在打开的终端中,我们可以直接用键盘输入python(或者python3,下略)这个命令,然后按一下回车键启动Python解释器的交互模式界面。效果如下所示:

$ python
Python 3.9.6 (tags/v3.9.6:db3ff76, Jun 28 2021, 15:26:21) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

大家很可能看不懂执行python命令后终端所显示的内容。不过不用慌,我们带大家分析一下上面的每串字符。首先是第一和第二行:

Python 3.9.6 (tags/v3.9.6:db3ff76, Jun 28 2021, 15:26:21) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.

这是Python解释器开始运行交互模式后打印的一些信息,比如第一行打头的“Python 3.9.6”这个版本号。 我们不必在意。大家终端上显示的信息不必和这里展示的信息完全一致,但版本号必须是3.x.y的形式。

还记得我们之前通过python --version来查看Python版本号吗?

接着,Python解释器在第四行显示了>>>这个符号。这个符号也是提示符,只不过没先前终端显示的提示符那么长。 它代表了我们可以输入一些“东西”跟Python交互了。对于终端来说,大家能在终端的提示符后面输入命令来让终端完成; 而对于Python解释器来说,大家能在提示符>>>后面输入表达式与语句来让Python解释器帮你做计算。

作为一个例子,我们现在可以在提示符>>>后面输入1 + 1,按下回车键,看看Python会不会计算这个小学生都会算的事情。结果如下:

>>> 1 + 1
2

可以看到,Python解释器很灵性地计算了1 + 1,得到2,并把2输出给你看,然后很积极地再打出了提示符>>>,提醒你输入下一个表达式或语句来让它计算。 概言之,交互模式便是一种“你输入表达式或语句,Python解释器执行它,你再输入表达式或语句,Python解释器再执行它……”的重复过程, 直到你不想再和Python解释器说话,敲入exit()为止(见3.3节),交互模式就结束了。

在本小节的最后,让我们来比较一下和Python解释器交互以及和终端交互时两者提示符的区别吧。 和Python交互时的提示符是>>>,而和终端交互的提示符是>(在Linux和macOS则通常是$)并且在前面往往有表示“当前工作目录”的文字。 大家要注意区分这两种模式——既不能在和Python交互时输入只有终端才能懂的命令,比如python hello.py, 也不能在和终端交互时输入只有Python解释器才能懂的表达式或语句,比如1 + 1