Python IDLE入门简介


Posted in Python onDecember 08, 2017

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

参考:

一、IDLE的安装

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

二、IDLE的启动

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

Python IDLE入门简介

如上图所示,启动IDLE后首先映入我们眼帘的它的Pythonshell,我们通过它可以在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就会启动自动缩进功能。如下图所示:

Python IDLE入门简介

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

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

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

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

现在只要按下回车键,IDLE就会自动完成此函数名。如果不合适的话,还可以向上、向下方向键进行查找。

创建好程序之后,从“File”菜单中选择“Save”保存程序。如果是新文件,会弹出“Saveas”对话框,我们可以在该对话框中指定文件名和保存位置。保存后,文件名会自动显示在屏幕顶部的蓝色标题栏中。如果文件中存在尚未存盘的内容,标题栏的文件名前后会有星号出现。

四、常用编辑功能详解

现在我们将介绍编写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”菜单中选择“RunModule”菜单项,该菜单项的功能是执行当前文件。对于我们的示例程序,执行情况如下图所示:

Python IDLE入门简介

六、使用IDLE的调试器

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

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

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

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

七、IDLE的命令历史功能

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

八、小结

IDLE是Python软件包自带的一个集成开发环境,非常适合于Python编程的初学者。本文通过一个示例程序详细介绍了IDLE在程序开发过程中的使用方法,希望能对大家学习Python编程有所帮助。如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
详解Python中for循环是如何工作的
Jun 30 Python
python traceback捕获并打印异常的方法
Aug 31 Python
linux安装python修改默认python版本方法
Mar 31 Python
关于 Python opencv 使用中的 ValueError: too many values to unpack
Jun 28 Python
python 获取sqlite3数据库的表名和表字段名的实例
Jul 17 Python
python Pandas如何对数据集随机抽样
Jul 29 Python
代码总结Python2 和 Python3 字符串的区别
Jan 28 Python
Python 爬取必应壁纸的实例讲解
Feb 24 Python
Python Selenium实现无可视化界面过程解析
Aug 25 Python
解决Python3.8运行tornado项目报NotImplementedError错误
Sep 02 Python
python 提高开发效率的5个小技巧
Oct 19 Python
python自动化测试通过日志3分钟定位bug
Nov 20 Python
利用Python找出序列中出现最多的元素示例代码
Dec 08 #Python
Python排序搜索基本算法之归并排序实例分析
Dec 08 #Python
Python实现基于二叉树存储结构的堆排序算法示例
Dec 08 #Python
Python排序搜索基本算法之堆排序实例详解
Dec 08 #Python
基于Django contrib Comments 评论模块(详解)
Dec 08 #Python
Python数据分析中Groupby用法之通过字典或Series进行分组的实例
Dec 08 #Python
python在ubuntu中的几种安装方法(小结)
Dec 08 #Python
You might like
PHP基础之运算符的使用方法
2013/04/28 PHP
开源php中文分词系统SCWS安装和使用实例
2014/04/11 PHP
php发送短信验证码完成注册功能
2015/11/24 PHP
thinkPHP5 tablib标签库自定义方法详解
2017/05/10 PHP
PHP编程计算文件或数组中单词出现频率的方法
2017/05/22 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
javascript 事件处理、鼠标拖动效果实现方法详解
2012/05/11 Javascript
浅谈checkbox的一些操作(实战经验)
2013/11/20 Javascript
js实现的map方法示例代码
2014/01/13 Javascript
javascript实现时间格式输出FormatDate函数
2015/01/13 Javascript
JS实现的数组全排列输出算法
2015/03/19 Javascript
jQuery鼠标经过方形图片切换成圆边效果代码分享
2015/08/20 Javascript
jQuery File Upload文件上传插件使用详解
2016/12/06 Javascript
vue实现留言板todolist功能
2017/08/16 Javascript
JS随机数产生代码分享
2018/02/24 Javascript
详解vue.js根据不同环境(正式、测试)打包到不同目录
2018/07/13 Javascript
JavaScript设计模式之享元模式实例详解
2019/01/17 Javascript
Vue-CLI与Vuex使用方法实例分析
2020/01/06 Javascript
python检测lvs real server状态
2014/01/22 Python
简单介绍Python中的JSON模块
2015/04/08 Python
Python 自动化表单提交实例代码
2017/06/08 Python
Python基于Matplotlib库简单绘制折线图的方法示例
2017/08/14 Python
解决python opencv无法显示图片的问题
2018/10/28 Python
Django中使用Whoosh进行全文检索的方法
2019/03/31 Python
Python 使用 docopt 解析json参数文件过程讲解
2019/08/13 Python
台湾旅游网站:雄狮旅游网
2017/08/16 全球购物
请用Python写一个获取用户输入数字,并根据数字大小输出不同信息的脚本
2014/05/20 面试题
工程师求职简历的自我评价分享
2013/10/10 职场文书
2015年度物业公司工作总结
2015/04/27 职场文书
城南旧事读书笔记
2015/06/29 职场文书
学校2016年全国助残日活动总结
2016/04/01 职场文书
你对自己的信用报告有过了解吗?
2019/07/09 职场文书
行政后勤人员工作计划应该怎么写?
2019/08/16 职场文书
关于Numpy之repeat、tile的用法总结
2021/06/02 Python
Android使用EventBus发送消息,Fragment中接收消息的方法会执行多次
2022/04/24 Java/Android
大脑的记忆过程在做数据压缩,不同图形也有共同的记忆格式
2022/04/29 数码科技