博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
循序渐进学Python:IDLE的运行、编辑与调试
阅读量:5230 次
发布时间:2019-06-14

本文共 3994 字,大约阅读时间需要 13 分钟。

IDLE是Python软件包自带的一个集成开发环境,初学者可以利用它方便地创建、运行、测试和调试Python程序。本文将详细介绍IDLE的GUI界面、Python Shell、编辑器和调试器,为初学者快速上手助一臂之力。

一、IDLE的安装实际上,IDLE是跟Python一起安装的,不过要确保出现图1所示的安装画面时选中了“Tcl/Tk”组件,准确地说,应该是不要取消该组件,因为默认时该组件是处于选中状态的。

图1  IDLE的安装

二、IDLE的启动安装Python后,我们可以从“开始”菜单→“所有程序”→“Python 2.5”→“IDLE(Python GUI)”来启动IDLE。IDLE启动后的初始窗口下图所示:

图2  IDLE的Python shell

如上图所示,启动IDLE后首先映入我们眼帘的它的Python shell,我们通过它可以在IDLE内部执行Python命令。除此之外,IDLE还带有一个编辑器,用来编辑Python程序(或者脚本);有一个交互式解释器用来解释执行Python语句;有一个调试器来调试Python脚本。下面我们从IDLE的编辑器开始介绍。

 

三、利用IDLE创建Python程序 IDLE为开发人员提供了许多有用的特性,如自动缩进、语法高亮显示、单词自动完成以及命令历史等等,在这些功能的帮助下,能够有效的提高我们的开发效率。下面我们通过一个实例来对这些特性分别加以介绍。我们的示例程序的源代码如下所示:

#提示用户进行输入 integer1 = raw_input('请输入一个整数:') integer1 = int(integer1) integer2 = raw_input('请再次输入一个整数:') integer2 = int(integer2)

if  integer1 < integer2: print  '%d < %d'  %(integer1, integer2) else: print  '%d ≥ %d'  %(integer1, integer2)

我们现在演示如何利用IDLE的编辑器来创建Python程序。要新建一个文件,首先从“File”菜单中选择“New Window”菜单项,这样就可以在出现的窗口中输入程序的代码了。现在就让我们输入上面的代码来亲自体验一下IDLE所提供的各种便利吧。

我们首先介绍自动缩进。实际上,很少有哪种语言能像Python这样重视缩进了,在其他语言比如C语言,缩进对于代码的编写来说是“有了更好”,而不是“没有不行”,它充其量是一个个人书写代码的风格问题;但是到了Python语言这里,则把缩进提升到了一个语法的高度。复合语句不是用大括号{}之类的符号表示,而是通过缩进来表示。这样做的好处就是减少了程序员的自由度,有利于统一风格,使得人们在阅读代码时会更加轻松。为此,IDLE提供了自动缩进功能,它能将光标定位到下一行的指定空距处。当我们键入与控制结构对应的关键,如if等,或者输入如def等与函数定义对应的关键字的时候,按下回车键后IDLE就会启动自动缩进功能。如下图所示:

图3  IDLE的自动缩进功能

 

就像图3所示,当我们在if关键字所在行的冒号后面按回车键之后,IDLE自动进行了缩进。一般情况下,IDLE将代码缩进一级,即4个空格。如果想改变这个默认的缩进量的话,可以从“Format”菜单选择“New indent width”项来进行修改。对初学者来说,需要注意的是尽管自动缩进功能非常方便,但是我们不能完全依赖它,因为有时候自动缩进未必完全合我们的心意,所以还需要仔细检查一下。

所谓语法高亮显示,就是给代码不同的元素使用不同的颜色进行显示,关于这一点,我们从图3中已经看到了。默认时,关键字显示为桔红色,注释显示为红色,字符串为绿色,定义和解释器的输出显示为蓝色,控制台输出显示为棕色。在键入代码时,会自动应用这些颜色突出显示。语法高亮显示的好处是,可以更容易区分不同的语法元素,从而提高可读性;与此同时,语法高亮显示还降低了出错的可能性。比如,如果输入的变量名显示为桔红色,那么您就需要注意了,这说明该名称与预留的关键字冲突,所以必须给变量更换名称。

单词自动完成指的是,当用户输入单词的一部分后,从“Edit”菜单选择“Expand word”项,或者直接按Alt+/组合键自动完成该单词。如下图:

图4  键入单词的一部分

现在我们输入字符“i”之后按下组合键Alt+/,IDLE将自动完成该单词,结果如下图所示:

 

图5  IDLE自动完成的单词

 

此外,有时候我们只记住了函数的开头几个字母,这时怎么办?比如我想在程序运行时用raw_input函数从标准输入设备键入一些内容,本来这个函数名我是记住了的,但由于肚子太饿输入raw这三个字母后,下面的几个字母却怎么也想不起来了,没关系,从“Edit”菜单选择“Show completetions”菜单项,IDLE就会给出一些提示,如图所示:

图6  利用IDLE的提示完成单词

 

现在只要按下回车键,IDLE就会自动完成此函数名。如果不合适的话,还可以向上、向下方向键进行查找。 创建好程序之后,从“File”菜单中选择“Save”保存程序。如果是新文件,会弹出“Save as”对话框,我们可以在该对话框中指定文件名和保存位置。保存后,文件名会自动显示在屏幕顶部的蓝色标题栏中。如果文件中存在尚未存盘的内容,标题栏的文件名前后会有星号出现。

四、常用编辑功能详解 现在我们将介绍编写Python程序时常用的IDLE选项,下面按照不同的菜单分别列出,供初学者参考。对于“Edit”菜单,除了上面介绍的几个选项之外,常用的选项及解释如下所示:

 Undo:撤销上一次的修改。  Redo:重复上一次的修改。  Cut:将所选文本剪切至剪贴板。  Copy:将所选文本复制到剪贴板。  Paste:将剪贴板的文本粘帖到光标所在位置。  Find:在窗口中查找单词或模式。  Find in files:在指定的文件中查找单词或模式。  Replace:替换单词或模式。  Go to line:将光标定位到指定行首。 对于“Format”菜单,常用的选项及解释如下所示:  Indent region:使所选内容右移一级,即增加缩进量。  Dedent region:使所选内容组左移一级,即减少缩进量。  Comment out region:将所选内容变成注释。  Uncomment region:去除所选内容每行前面的注释符。  New indent width:重新设定制表位缩进宽度,范围2~16, 宽度为2相当于1个空格。  Expand word:单词自动完成。  Toggle tabs:打开或关闭制表位。

五、在IDLE中运行Python程序 要使用IDLE执行程序的话,可以从“Run”菜单中选择“Run Module”菜单项,该菜单项的功能是执行当前文件。对于我们的示例程序,执行情况如下图所示:

图7  示例程序的运行情况

 

六、使用IDLE的调试器 软件开发过程中,总免不了这样或那样的错误,其中有语法方面的,也有逻辑方面的。对于语法错误,Python解释器能很容易的检测出来,这时它会停止程序的运行并给出错误提示。对于逻辑错误,解释器就鞭长莫及了,这时程序会一直执行下去,但是得到的运行结果却是错误的。所以,我们常常需要对程序进行调试。

最简单的调试方法是直接显示程序数据,例如可以在某些关键位置用print语句显示出变量的值,从而确定有没有出错。但是这个办法比较麻烦,因为开发人员必须在所有可疑的地方都插入打印语句。等到程序调试完后,还必须将这些打印语句全部清除,这真是太罗嗦了。

除此之外,我们还可以使用调试器来进行调试。利用调试器,我们可以分析被调试程序的数据,并监视程序的执行流程。调试器的功能包括暂停程序执行、检查和修改变量、调用方法而不更改程序代码等等。IDLE也提供了一个调试器,帮助开发人员来查找逻辑错误。

下面简单介绍IDLE的调试器的使用方法。在“Python Shell”窗口中单击“Debug”菜单中的“Debugger”菜单项,就可以启动IDLE的交互式调试器。这时,IDLE会打开“Debug Control”窗口,并在“Python Shell”窗口中输出“[DEBUG ON]”并后跟一个“>>>”提示符。这样,我们就能像平时那样使用这个“Python Shell”窗口了,只不过现在输入的任何命令都是允许在调试器下。我们可以在“Debug Control”窗口查看局部变量和全局变量等有关内容。如果要退出调试器的话,可以再次单击“Debug”菜单中的“Debugger”菜单项,IDLE会关闭“Debug Control”窗口,并在“Python Shell”窗口中输出“[DEBUG OFF]”。

七、IDLE的命令历史功能 命令历史可以记录会话期间在命令行中执行过的所有命令。在提示符下,可以按Alt+P组合键找回这些命令,每按一次,IDLE就会从最近的命令开始检索命令历史,按命令使用的顺序逐个显示。按Alt+N组合键,则可以反方向遍历各个命令,即从最初的命令开始遍历。

八、小结 IDLE是Python软件包自带的一个集成开发环境,非常适合于Python编程的初学者。本文通过一个示例程序详细介绍了IDLE在程序开发过程中的使用方法,希望能对大家学习Python编程有所帮助。

转载于:https://www.cnblogs.com/elect-fans/archive/2011/12/19/2408613.html

你可能感兴趣的文章
Spring属性注入
查看>>
Springboot-配置文件
查看>>
Spring-自动配置
查看>>
Springboot-日志框架
查看>>
SpringBoot-静态资源映射
查看>>
SpringBoot-webjars
查看>>
SpringBoot-thymeleaf
查看>>
IDEA 调试 JAVA ConcurrentLinkedQueue
查看>>
pip 命令安装 rdbtools
查看>>
P1314-聪明的质检员
查看>>
P1088-火星人
查看>>
P1908-逆序对
查看>>
P1192-台阶问题
查看>>
ACM模板——康托展开
查看>>
P1025-数的划分
查看>>
P1017-进制转换
查看>>
P1115-最大子段和
查看>>
P1216-[IOI1994][USACO1.5]数字三角形 Number Triangles
查看>>
P1305-新二叉树
查看>>
P1087-FBI树
查看>>