首页 > 代码库 > 2、Python IDLE入门

2、Python IDLE入门

转载:http://www.cnblogs.com/dsky/archive/2012/06/04/2535397.html

1、IDLE是Python软件包自带的一个集成开发环境,初学者可以利用它方便地创建、运行、测试和调试Python程序。

一、IDLE的安装 实际上,IDLE是跟Python一起安装的,不过要确保安装时选中了“Tcl/Tk”组件,准确地说,应该是不要取消该组件,因为默认时该组件是处于选中状态的。 二、IDLE的启动 安装Python后,我们可以从“开始”菜单→“所有程序”→“Python 2.7”→“IDLE(Python GUI)”来启动IDLE。IDLE启动后的初始窗口下图所示:
技术分享 如上图所示,启动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就会启动自动缩进功能。如下图所示:

技术分享 当我们在if关键字所在行的冒号后面按回车键之后,IDLE自动进行了缩进。一般情况下,IDLE将代码缩进一级,即4个空格。如果想改变这个默认的缩进量的话,可以从“Format”菜单选择“New indent width”项来进行修改。对初学者来说,需要注意的是尽管自动缩进功能非常方便,但是我们不能完全依赖它,因为有时候自动缩进未必完全合我们的心意,所以还需要仔细检查一下。
所谓语法高亮显示,就是给代码不同的元素使用不同的颜色进行显示,关于这一点,我们从图3中已经看到了。默认时,关键字显示为桔红色,注释显示为红色,字符串为绿色,定义和解释器的输出显示为蓝色,控制台输出显示为棕色。在键入代码时,会自动应用这些颜色突出显示。语法高亮显示的好处是,可以更容易区分不同的语法元素,从而提高可读性;与此同时,语法高亮显示还降低了出错的可能性。比如,如果输入的变量名显示为桔红色,那么您就需要注意了,这说明该名称与预留的关键字冲突,所以必须给变量更换名称。
单词自动完成指的是,当用户输入单词的一部分后,从“Edit”菜单选择“Expand word”项,或者直接按Alt+/组合键自动完成该单词。
此外,有时候我们只记住了函数的开头几个字母,这时怎么办?比如我想在程序运行时用raw_input函数从标准输入设备键入一些内容,本来这个函数名我是记住了的,但由于肚子太饿输入raw这三个字母后,下面的几个字母却怎么也想不起来了,没关系,从“Edit”菜单选择“Show completetions”菜单项,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”菜单项,该菜单项的功能是执行当前文件。对于我们的示例程序,执行情况如下图所示:

技术分享
六、使用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编程有所帮助

2、python IDLE的执行py文件

Import

IDLE下也可以用import来运行文件。如运行test.py文件:improt test

但是对于一个文件,improt只能在第一次导入时运行文件。在第一次导入之后,其他的导入都不会再工作,甚至在另一个窗口中改变并保存了模块的源代码文件也不行。实验了下,发现重启IDEL后依然不行。这是有意设计的结果。导入是一个开销很大的操作以至于每个程序不能够重复多于1次。

Reload

但如果想要python在同一次会话中再次运行文件,需要用内置的reload(重载)函数。

调用格式是:reload(test)

使用reload,输出中会包含<module ‘test‘ from‘C:/Python27/Practice Code/test.pyc‘>。

这是因为Reload是一个函数,而import是一个语句。调用时需要传递模块名称给reload函数作为括号中的参数,因此在重载时得到了额外的一行输出。最后一行输出是reload调用后的返回值的打印显示,reload函数的返回值是一个python模块对象。但对于未经过修改的程序,调用reload函数,也仅仅会得到一行类似上面的返回值的打印显示。

需要额外说明的是,如果没有使用import,reload函数会报错。也就是说reload函数需要在已经使用了import的情况下使用。可以使用Alt-p,Alt-n回滚到上一条命令,另外, IDLE中没有清屏选项。

execfile

另一个通过交互提示模式运行文件的方法是内置函数execfile(‘test.py’)。默认情况下,每次调用execfile,都会运行一个新文件,但从技术上来说它并没有导入模块。

模块导入是一种运行代码文件的方法模块也是python程序最大的程序结构。Python程序往往有多个模块构成,通过import语句连接在一起。每个模块文件是一个独立完备的变量包装,即一个命名空间。一个模块文件不能看到其他文件定义的变量名,除非他明确地导入了那个文件,所以模块文件在代码文件中起到了最小化命名冲突的作用。

如果发生了链接错误,试一下通过单个进程的模式启动IDLE。IDLE要求在其独立的用户和GUI进程间通信,有时候会在特定的平台上发生启动错误。如果遇到了这样的链接错误,它常常可以通过系统命令行使IDLE运行在单一的模式下进行启动,从而避免了通信的问题:-n命令行标志为可以强制进入这种模式。如,在Windows撒谎功能,可以运行系统命令 test.py –n.

3、Python电子书

简明Python教程(入门的可以看看)
http://www.woodpecker.org.cn:9081/doc/abyteofpython_cn/chinese/index.html
Python学习手册 第三版中文(入门书,简单易懂)
http://www.jb51.net/books/22761.html
Python核心编程 第二版中文(翻译被人抢了,好吧,我们不管这个)
http://www.jb51.net/books/20775.html
Dive Into Python 中文版(好书)
http://www.tsnc.edu.cn/default/tsnc_wgrj/doc/pythonhtml/html/
Dive Into Python 3(最新英文版)
http://www.e-bookz.cn/book/dive-into-python-3.html
Python Cookbook中文版(好书,翻译未完,ZQ持续更新中,可关注)
http://wiki.woodpecker.org.cn/moin/PyCookbook
Python cookbook英文chm
http://www.infoxa.com/asp/book_file/xxnr_book_2300.htm
可爱的Python(Python优秀课外读物,社区作品)
http://wiki.woodpecker.org.cn/moin/ObpLovelyPython
PYTHON中文手册(一些参考)
http://www.myebook.cn/ebook/dnwl/cxsj/qt/2008/304343818785.htm
Python源码剖析(深入了解动态语言)
http://www.e-bookz.cn/book/python-yuanma-pouxi.html
Expert Python Programming(Python高级编程)
http://www.ebookee.net/Expert-Python-Programming_217684.html
Python标准库手册
http://wiki.woodpecker.org.cn/moin/PythonStandardLib
The Django Book
http://djangobook.py3k.cn/
Python简明正则表达式教程
http://wiki.ubuntu.org.cn/Python%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97
Python高级编程(Expert Python Programming)
http://www.ebookee.net/Expert-Python-Programming_217684.html
HTML&CSS
http://zh.html.net/
Python书籍汇总
http://club.topsage.com/thread-361615-1-1.html
http://www.verycd.com/topics/2762837/

 

 

2、Python IDLE入门