PS:在上一节对于python官方发行版的安装中,我对于在Linux中安装它的情况上有一些疏漏。
首先,大多数情况下,Python的各部分组件是独立安装的,所以
python3
安装的是解释器,不是完整的官方发行版。其次,我昨天在Cent OS上尝试安装Python的时候发现了几个大问题:有一些Linux发行版的软件包管理器对于Python3的命名不是
python3
,比如yum上是python36
;安装完了,如果你想要使用python3
这个名称的话,还可能需要手动添加链接;而且,不一定有pip,你需要手动下载pip的安装脚本,安装它……我不知道在macOS上是什么情况。
上一节讲了Python的开发工具和Python官方发行版的安装方法,今天简要讲一下Python Shell的基本使用。
代码
从本节开始,我们开始涉及代码。代码仓库可以参见 https://github.com/DingJunyao/py-learn 。
启动
对于Unix和类Unix系统,在终端输入python3
(但不是所有发行版默认都是这样,参见上文;但为了方便,接下来一律以python3
命名)回车,即可启动Python Shell。
对于Windows,有以下几种方式:
- 打开命令提示符或PowerShell(以下为了方便只说“命令提示符”),输入
python
回车。 - 在开始菜单中找到“Python”文件夹,单击其中的“Python”或“IDLE”。
当选择“Python”时,打开的窗口类似于第一种方式。
IDLE打开时,默认的界面就是Python Shell,与其他方式不同的是,它支持语法高亮,且默认背景是白色。
交互模式
以上述方式启动Shell的时候,即可使用交互模式,即逐行逐行输入语句、执行。
在此之前,我先简要教两个语句,供这一节使用。在后面的章节中,我还会详细教它们的。
print(str)
print
函数用来在控制台上输出内容。str
可以是变量、数值、字符串等。字符串用单引号或双引号包住,但不能是一个单引号一个双引号。
a = b + c
等号表示将等号后面的表达式赋值给等号前面的变量。比如说,上一句是:将b + c
赋值给a
。语句中的空格是为了使代码美观而添加,也可不添加,但是还是建议添加。
以上仅为示例,直接运行会报错。而且注意,上面的括号、引号等符号均为半角!也就是说,请在英文输入法状态下输入它们!
比如在Shell中逐行输入:
print('Hello World')
print('你好!')
a = 1
b = 2
c = a + b
print(c)
d = 'Hello'
print(d)
结果如图所示:
交互模式对于代码的学习、调试、测试非常有用。
但是,这需要一行一行地输入。如果有成千上万行代码怎么办?这就要介绍另一种方法了。
将要执行的代码编辑为脚本文件,再执行
单击IDLE的菜单栏的“File→New File”,或者是按Ctrl+N
,弹出文件编辑窗口。在其中可以编辑代码。
比如说,将上面的代码输入进去,单击菜单栏的“Run→Run Module”,或者是按F5
,提示需要保存才能运行。保存文件到某个地方,就可以运行了。注意,Pyhon脚本文件的扩展名为py。
当你保存结束后,脚本自动运行。
可以发现,这次是仅显示输出结果,相比于逐行输入来说,更加方便简洁。
执行脚本文件
我们在之前把代码保存为脚本文件,这样的话,在之后可以执行脚本文件。再比如说,你在其他地方获得了Python的脚本文件,就可以执行。
在Windows下,在命令提示符中输入如下的语句:
python 文件的绝对路径或相对路径
注意自己现在所在的路径(即>
之前的路径)。最好的方法是把路径定位到代码所在目录,再执行:
python 文件名
在Unix和类Unix系统上,操作类似,只不过把python
换成python3
。
直接执行脚本文件
在Windows上,通过双击文件的方式虽然可以执行,但是窗口是一闪而过的,不符合我们的期望。在命令提示符中直接输入文件名并按回车也是如此。
在Unix和类Unix系统上,直接执行脚本文件是可行的,但需要一定的条件。
首先,我们需要在文件开头加上一行:
#!/usr/bin/env python3
这一行被称为shebang(shell执行)行,指定该文件需要使用哪种解释器。在之后我会详细介绍它。
但是这还不够,如果直接执行会提示权限不足。这是因为这个文件还没有执行的权限。所以在文件所在目录下,先给它加上执行权限:
chmod +x 文件名
然后即可执行文件:
./文件名
注意,文件名前面的./
必不可少。
交互模式和执行脚本文件的区别
它们之间的主要区别就是:在交互模式中,直接输入变量名称后回车,可以查看变量的值。但在执行脚本文件时,这一行不会返回任何值。
如执行下面的语句:
a = 1
a
参考资料
参见0.1节。