循序渐进学Python:安装、使用与运行程序
Python是一种功能强大的解释执行自动编译的动态型语言,面向对象的同时还支持面向过程的编程,有灵活方便数据结构,拥有大量优秀的模块,语法清晰、简洁,而且可以在众多的平台上运行,非常适合于完成各种高层任务。目前,基于这种语言的相关技术正在飞速的发展,用户数量急剧扩大,鉴于此,从本文开始笔者将向读者陆续介绍Python编程的有关知识。虽然Python能支持多种平台,但是我们这里以Windows系统作为我们的工作平台。现在,我们先从准备工作开始做起吧!
一、安装Python
安装Python时,既可以从源代码安装,也可以用已经编译并打包好的二进制版本来安装。显然,后者较为简单,它的安装程序可以从Web站点http://www.python.org免费下载,对于Windows系统而言,当前最新的安装包为Python-2.5.2.msi。下载后,直接双击便可以按照提示安装了,非常简单。
二、使用Python解释器
对于初学者来说,可以简单的把Python的解释器看成是一个“代办”:我们把要做的事情用这个“代办”能听懂的话告诉它,然后它就会按照我们的吩咐完成相应的工作。注意,要告诉Python做哪些事情的方法是使用Python指令,即语句;我们既可以一步一步的告诉它,Python的解释器会一句一句地解释执行;也可以把要执行的语句一股脑地放到一个文件(即Python程序文件)中,这些文件通常以.py文件的形式出现,这时Python的解释器会按顺序执行这种文件中的所有语句。上面所说的的““代办”能听懂”则意味着要符合Python的语法,这些语法我们会在后面的文章中逐步讲解。
现在我们以惯用的“Hello,world!”为例开始我们的Python之旅。安装Python后,您可以从“开始”菜单→“所有程序”→“Python 2.5”→“Python(command line)”来启动Python解释器。但是这样做有些麻烦,所以建议读者到Python的安装目录下,在Python图标上单击右键,在弹出的菜单中选择“创建快捷方式”(见图1),之后把建立的快捷方式图标复制到桌面上,之后用起来就会方便多了。
图1 为Python解释器创建快捷方式
启动解释器后,我们可以直接在其提示符(Python的提示符是>>>)后输入下面一句:
print ‘Hello,world!’
我想读者已经猜到了,这句话是让Python在屏幕上显示“Hello,world!”。按回车键后,屏幕上的输出情况如图2所示:
图2 在Python中交互执行“Hello,world!”
我相信,很多使用C语言编程的人看了之后一定觉得很别扭,因为这看起来一点都不像是在编程,简直就是在使用计算器。实际上Python解释器用起来的确有点像是“计算器”,比如在提示符后输入下面一句:
print 8+8
这时解释器的输出情况,如图3所示:
图3 将解释器用作计算器
那好,既然这样我们就换一种更像编程的方式来完成这个最简单的编程任务。
三、程序“Hello,world!”
首先,打开记事本,在其中键入以下语句:
#Printing a line of text
print 'Hello,world!'
然后,将这个文件另存为hello.py。注意这里的后缀,一般情况下都将Python程序文件的后缀定为.py。这个程序非常简单,只有三行。我们先看第一行,它是以#开头,这表示这一行是注释。我们知道,在程序中加上必要的注释是很重要的,一则可以帮助别人理解我们的程序,二则可以帮助我们日后的维护,因为随着时间的推移,当初写的代码的含义很可能会在记忆中淡忘,这时原先的注释会带来莫大的帮助。
像这样以#开头的注释称为单行注释,它的特点是注释在本行的末尾结束。不过,单行注释不仅可以起始于行首,也可以起始于一行的中间部位,比如跟在代码的后面对该行的代码进行注解。但是无论如何,Python都不会把它转换成实际的操作。
在注释行之后,是一个空行。我们可以在不同功能的代码段之间用空行加以分隔,这里使用空行把注释部分和代码部分隔开,这样会程序的可读性更强。
第3行是本程序的主角,一个print语句,它的作用是让计算机显示引号之间的字符串。字符串,顾名思义,就是一串字符,不过这些字符是有其顺序的。注意,这里的句尾不像C语言那样以分号“;”作为结束符,Python的语句末尾什么也不加。和注释行不同,这一行会被Python转换成实际的操作,那就是在屏幕上显示一行文字:“Hello,world”,如下图所示,您会发现print语句中的引号并不在输出之列。
图4 程序hello.py的执行情况
四、运行程序
要想运行Python程序,可以在Dos提示符下切换到Python程序文件所在目录,就上例而言,因为我们的示例程序位于C:\python25\test目录下,可以用下列命令:
cd C:\python25\test
然后,在命令提示符下输入python,后跟要执行的程序名即可,如要运行hello.py,可以使用以下命令:
python hello.py
程序运行情况见图4。
迄今为止,我们已经使用了两种不同的方式来执行Python的语句了。第一种方式是使最先介绍的直接在解释器中输入语句来执行,这种交互模式一次只能一个语句,见图2。第二种方式是把要执行的语句放进一个后缀名为.py的文件中,然后让Python解释器来执行文件中的代码,见图4。对于第二种方式,Python解释器执行存放在文件中的代码时,会从文件的第一行开始,一行接一行地往下解释并执行,直到文件结束为止。
五、解释执行
上面谈到了Python语句的两种执行方式,实际上,这两种运行方式在本质上是相同的,它们都是由解释器来解释执行我们提供的Python语句。
这里所说的解释执行是相对于编译执行而言的。我们知道,使用诸如C或C++之类的编译性语言编写的程序可以从源文件转换成计算机使用的机器语言,经连接器连接后形成二进制可执行文件。当我们运行二进制可执行程序的时候,因为已经编译好了,所以加载器软件把二进制程序从硬盘载入内存中并运行。
与之不同,Python语言写的程序不需要编译成二进制代码,它可以直接从源代码运行程序。当我们运行Python文件程序的时候,Python解释器把源代码转换成中间形式:字节码,然后再由Python虚拟机来执行这些字节码,如图5所示。这样的话,我们就用不着担心程序的编译,库的连接加载等问题了,所有这些工作都由Python虚拟机代劳了。
图5 Python解释执行示意图
对于Python的解释语言特性,我们要一分为二的看待。一方面,每次运行时都要进行转换成字节码,然后再由虚拟机把字节码转换成机器语言,最后才能在硬件上运行。较之于编译性编程语言,每次运行都会多出两道工序,所以它的性能会受到影响。另一方面,由于不用关心程序的编译以及库的连接等问题,所以开发工作会变得更轻松;同时虚拟机距离物理机器更远了,所以Python程序更加易于移植,实际上无需改动就能在多种平台上运行。
六、小结
本文向读者介绍了Python的安装和解释器的使用,同时用最常见的“Hello,world!”示例程序向读者讲解了Python程序的编写和运行。最后对Python的解释执行特性做了简单的介绍。读者可能已经发现,Python编程很简洁,也很容易上手,至于更多的内容,我们会在后续的文章中陆续加以介绍。