post

Python cn:First Steps

Contents

介绍

我们现在来看看如何在Python中运行传统的”Hello world”程序。这会教你如何写、保存以及运行Python程序。

有两种办法来运行您的Python程序——使用交互式的解释器提示符或者源代码文件。我们现在来分别看一看这两种方法。

使用解释器提示符

在命令提示符中输入python来打开解释器。

那些在GNU/Linux与BSD上同时安装了Python 3.x与Python 2.x的用户可能需要输入python3

而对于Windows用户而言,如果您在PATH环境变量里正确设置的话,也可以在命令行界面打开解释器。
要在Windws里打开命令行,在开始菜单中点击”运行”,在弹出的对话框中输入cmd并按回车。现在在DOS提示符下,你可以随时开始使用python。

如果您使用IDLE,依次点击开始菜单 → 程序Python 3.0IDLE (Python GUI)

现在请输入print('Hello World')并按下回车键。您应该能看到输入单词Hello World

   $ python
   Python 3.0b2 (r30b2:65106, Jul 18 2008, 18:44:17) [MSC v.1500 32 bit (Intel)] on win32
   Type "help", "copyright", "credits" or "license" for more information.
   >>> print('Hello World')
   Hello World
   >>>

您可以注意到这里Python立刻返回给输出内容! 刚刚您输入的是一个简单的Python 语句。我们(毫无悬念地)使用print来输出提供给它的任何值。这里,我们输入了文字Hello World,所以它被提示符输出到荧幕上。

如何退出解释器提示符
如何您使用IDLE或是在GNU/Linux或BSD的shell上,您可以按下键盘上的ctrl-d键或输入exit()后按下回车(注意:请别忘记那对括号)来退出解释器。如果您使用Windows命令行提示符,请按下ctrl-z并按下回车。

选择文本编辑器

在我们讲到用源代码文件写Python程序前,我们需要选择一个编辑器来编辑它们。作出这样的选择十分有必要。您不得不如同选择一辆车那样慎重地选择编辑器。一个好的编辑器能够帮助您更容易的写Python程序,让您感到旅途愉快,还能让您更快更安全地到达目的地(完成目标)。

其中最基本的要求是 语法高亮, 这让您Python程序的不同部分使用不同的色彩,这样您能够”看见”他们明白他们如何运作。

如果您使用Windows,那么我建议您使用IDLE。IDEL能够提供语法高亮,并且有许多其他功能例如允许您在其中运行程序。必须提醒的是, 不要使用记事本——这实在不是一个明智的选择,因为它无法提供语法高亮,此外尤其重要的是它不支持文字缩进——在后面会提到它的重要性。好的编辑器如IDLE(VIM也是)能够自动的帮助完成它。

如果您使用GNU/Linux或FreeBSD,您会有许多选择。如果正要开始做编程,您可能愿意尝试geany。它具备图形用户界面以及编译、运行程序的按钮,让您更省心。

如果您是一位富有经验的程序员,那么想必您一定在使用Vim或是Emacs。自不必多说,它们是最强大的编辑器,能够在您写Python程序时帮上更多。我个人使用Vim最多。而如果您是个刚起步的程序员,您也可以试试我最喜欢的编辑器之一的Kate。假使您正打算花时间如何使用Vim或Emacs,我强烈推荐您学会其中之一,它必能使您受益匪浅。

在这本书中,我们将使用 IDLE作为编辑器和集成开发环境。IDLE在Windws与Mac OS X的Python安装包中默认已安装。同时,在GNU/Linux与BSD的各个仓库中也有对应的包。

我们会在下一节中浏览IDLE的使用方法。更多的细节,请参考IDLE文档

如果您仍坚持想探寻其他编辑器选择,请看Python编辑器列表并作出选择。您也可以选择IDE(集成开发环境)。请看支持Python的IDE列表 以参考更多信息。一旦正式开始写大型Python程序,IDE确实有非常大的帮助。

请允许我再重复一遍,请选择一个合适的编辑器——它能让Python程序编写更容易、更有乐趣。

致Vim用户
这里有一篇不错的介绍如何把Vim打造成强大的Python ID,John M Anderson著.
致Emacs用户
这里也有一篇不错的介绍如何把Emacs打造曾强大的Python IDE,Ryan McGuire著.

使用源代码

现在让我回到编写程序。在学习任何一个新语言前,都有这样一个写『Hello World』的程序——只是在运行时显示『Hello World』. 如Simon Cozens [1]所说,这是“向编程的神念咒语来帮助您更好的学习这项语言。”

打开您选择的编辑器,输入下面的程序并将之保存为helloworld.py

如果您在使用IDLE,点击文件新窗口,接着输入下列程序。再点击文件保存

#!/usr/bin/python 
#Filename: helloworld.py

print('Hello World')

打开shell(GNU Linux终端或DOS提示符)来运行程序,输入命令python helloworld.py。(在Windows下,您耶可以在文件夹内找到程序,然后在命令行输入python后把该文件拖拽上去)。这会在python后自动添加文件路径。

如果您使用IDLE,使用菜单运行运行模块 或者使用键盘快捷键F5

输出如下

   $ python helloworld.py
   Hello World

如果您也看到如上的输出,那么恭喜!——您已经成功运行了第一个Python程序。

如果您遇到错误,请完全按照以上程序的代码重新输入程序。请注意Python对大小写敏感,例如printPrint是不同的——请注意前者的小写p和后者的大写P。另外,请确保每一行的第一个字符前面没有空格或者制表符——我们将在后面解释重要性。

关于shebang,这里有一点需要注意。如果您是Windows用户,那么您可能需要改成如下

#!C:Python31python.exe

另外GNU/Linux和Unix用户要改成如下

#!/usr/local/bin/python3.1

标准的是这样

#!/usr/bin/env python

然而我最近在一家提供远程主机服务那里注册,使得我必须在python脚本里”写死”正确的路径。

它如何工作

让我们先来看程序的前两行。这些被称为『注释』——任何在#符号右边的都是注释,同时也对程序的阅读者来说非常重要。

除了在第一行外,Python不使用任何注释中的内容。它被称作shebang——源文件的开头是#!紧跟着程序的路径,这告诉您的GNU/Linux或Unix系统在执行该程序时应该使用指定的解释器。这将会在下面一节中更详细的解释。请注意您总是可以通过显示指定各平台上调用的解释器来执行程序。

重要
在您的程序中适当地使用注释来解释程序中重要地细节——这对程序的阅读者来说很有用,使得他们容易地理解程序做些什么。记住,那个人很可能是6个月后的您自己!

在注释后面是一段Python语句。这里我们调用了print函数来显示文字'Hello World'。我们会在后面的章节学习有关函数,现在您只需要了解不论在括号内填写什么,都会被打印出来。以上面的例子来说,'Hello World'表示一个字符串——不用担心,我们将会在后面再详细介绍这些术语。

可执行的Python程序

这部分像程序的第一行那样,可能对除了Windows用户以外的GNU/Linux或者Unix用户来说更有兴趣。首先,我们需要使用chmod命令来赋予程序执行的权限,接着执行源程序。

   $ chmod a+x helloworld.py
   $ ./helloworld.py
   Hello World

这里chmod命令通过给予系统中全部用户(all)执行(exelute)权限,来改变(chage)文件的模式(mode)。接着,我们直接指定源文件的运行路径来执行。使用.来表示程序位于当前目录。

更有趣的是,您可以将文件重命名为helloworld,然后使用./helloworld执行;由于系统通过文件中第一行知道该使用哪个解释器来执行它,所以程序依旧有效。

如果您不知道Python程序的位置呢?那么,您可以使用GNU/Linux或Unix系统中的特殊程序env,只要把程序中的第一行改成

#!/usr/bin/env python

env会找到Python解释器并执行程序。

到这里,我们只要知道程序的确切位置就可以运行它。那么如何在任何位置运行它呢?您可以通过把它加入到PATH环境变量中的路径里去来达到效果。不管您何时运行程序,系统会在PATH环境变量里设置的路径中寻找并运行之。我们只需要把上面的程序复制到PATH中列出的目录中任何一个中去即可。

   $ echo $PATH
   /usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/swaroop/bin
   $ cp helloworld.py /home/swaroop/bin/helloworld
   $ helloworld
   Hello World

我们可以使用echo命令与在变量前加上$符号来显示PATH的值。这里看到/home/swaroop/bin是PATH变量中的一个目录,其中swaroop是我在系统中的用户名。通常在您的系统中也有类似的目录。顺带一提,您可以在PATH中加入自己的目录——通过执行PATH=$PATH:/home/swaroop/mydir,其中'/home/swaroop/mydir'是我想加入PATH变量的路径。

在您想任何时间任何地点执行自己写的脚本时,这个办法非常有用。就如同在GNU/Linux或者DOS提示符中创建cd和其他命令那样。

警告
对Python来说,程序和脚本或者软件指的都是同一件东西。

获取帮助

如果您需要Python中任何函数或语句的快速帮助信息,可以使用内置的help功能。在解释器提示符下显得尤其有帮助。例如,执行help(print)——会在屏幕上显示有关输出信息的print函数的相关帮助。

提示
q来退出帮助

类似地,您可以获取有关Python的几乎一切的信息。使用help()来查看help自身的相关信息!

如果您想了解操作语句return,您只需把它们放进引号,如help('return'),这样Python不会混淆我们要做的目的。

总结

现在您应该轻松地能够写、保存和执行Python程序。您是一位Python用户,那么我们来看看更多的Python概念吧


参考:

  1. The author of the amazing ‘Beginning Perl’ book


Advertisements