伪·从零开始学Python - 1.3 Python Shell

2018-02-12  本文已影响15人  阿啊阿吖丁

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,有以下几种方式:

开始菜单

当选择“Python”时,打开的窗口类似于第一种方式。

IDLE打开时,默认的界面就是Python Shell,与其他方式不同的是,它支持语法高亮,且默认背景是白色。

IDLE

交互模式

以上述方式启动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 文件名
命令提示符运行Python脚本

在Unix和类Unix系统上,操作类似,只不过把python换成python3

直接执行脚本文件

在Windows上,通过双击文件的方式虽然可以执行,但是窗口是一闪而过的,不符合我们的期望。在命令提示符中直接输入文件名并按回车也是如此。

在Unix和类Unix系统上,直接执行脚本文件是可行的,但需要一定的条件。

首先,我们需要在文件开头加上一行:

#!/usr/bin/env python3

这一行被称为shebang(shell执行)行,指定该文件需要使用哪种解释器。在之后我会详细介绍它。

但是这还不够,如果直接执行会提示权限不足。这是因为这个文件还没有执行的权限。所以在文件所在目录下,先给它加上执行权限:

chmod +x 文件名

然后即可执行文件:

./文件名

注意,文件名前面的./必不可少。

直接执行Python脚本

交互模式和执行脚本文件的区别

它们之间的主要区别就是:在交互模式中,直接输入变量名称后回车,可以查看变量的值。但在执行脚本文件时,这一行不会返回任何值。

如执行下面的语句:

a = 1
a
两种模式的不同,左为交互模式,右为执行脚本文件

参考资料

参见0.1节。

上一篇 下一篇

猜你喜欢

热点阅读