
3.3 Python程序初体验
我们现在来执行一小段程序,打开集成开发环境,创建一个PyDev Project,命名为lab1,然后在lab1这个Project中创建一个新文件,名字叫test.py,注意事项如下。
(1)总是先创建Project,然后往Project中添加文件。Project是工程、项目的意思,创建一个项目就好比建一栋房子,当然需要很多模块,这一个个文件就是独立的模块,如门、窗、墙等。
(2)创建Project时有很多选择,我们为什么要创建Pydev项目而不是Java、Maven,等等?我们在一开始安装Eclipse时就提到,Eclipse是一个可以进行Java、C/C++以及Python开发的集成开发环境,创建Pydev项目就是告诉Eclipse接下来的项目种类是Python项目,请用Python的解释器来执行创建的程序。
(3)在创建Pydev项目时,会出现下面的选项(见图3-1),我们选什么呢?答案是选Python,那么Jython、IronPython是什么?简单地说,Python语言有Cpython、Jython、IronPython三种实现方式,我们用的是Cpython,即通常说的Python。Jython是为了与Java语言集成而实现的一种Python语言,IronPython是为了与Windows的.Net框架集成而实现的一种Python语言,可以把这三者的关系理解成:Python是普通话,Jython和IronPython是两种方言。
(4)创建好Project以后,在Eclipse最左边会看到一个“Pydev Package Explorer”(见图3-2),里面有我们所创建的所有Project,其中包含“lab1”,因为这个窗口上有一个“×”,有时候也会不小心把它整个关了,这时只要选择主菜单栏的“Window→Show→Pydev Package Explorer”就能把它恢复。

图3-1 Pydev项目类型

图3-2 Pydev包资源管理器
我们在test.py中输入三行代码如下,保存之后发现几个奇怪的地方(见图3-3):
①import、print变成蓝色了。
②import os前面有一个惊叹号。
③c=os.getcwd()前面出现了一个红叉。
④单击Run按钮,试图执行这个程序,则出现了下面的错误(见图3-4)。

图3-3 保存代码

图3-4 程序执行报错
解答1:import、print还有很多别的词在Python中都有特殊含义,叫保留字,编程时不能重新定义,只能使用,变成蓝色就是提醒开发人员,这是保留字,这样的字还有如下几十种(见表3-1)。
表3-1 Python的保留字

解答2和3:前两句话的惊叹号和红叉是相关联的,都是因为没有对齐的原因。在Python中,代码块中使用相同的缩进来标明一段代码块的开始和结尾(也就是它们会左对齐)。把它们左对齐以后,就没问题了。
解答4:单击Run按钮报错,这是因为我们还未对这个文件设置如何执行,解决办法有两种。办法1,选择Run as→Python Run菜单就可以执行,而且再单击Run按钮时就可以执行了,这是因为我们已经手动设置了应该选择哪种执行方式来执行这个程序。办法2,在Python Package explorer中选择要设置的文件,右击,在弹出的快捷菜单中,选择“properties”中的Run/Debug Settings选项,手动指定哪个项目中的哪个文件需要执行,并且命名以后,再单击apply and close,可以达成一样的目的。
解答5:这个程序在干什么?
