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 相关文章推荐
windows下python模拟鼠标点击和键盘输示例
Feb 28 Python
python实现的登录和操作开心网脚本分享
Jul 09 Python
Python库urllib与urllib2主要区别分析
Jul 13 Python
Python面向对象特殊成员
Apr 24 Python
python3+PyQt5实现支持多线程的页面索引器应用程序
Apr 20 Python
浅析Python数据处理
May 02 Python
Python3.7 dataclass使用指南小结
Feb 22 Python
Python对ElasticSearch获取数据及操作
Apr 24 Python
pytorch实现seq2seq时对loss进行mask的方式
Feb 18 Python
Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解
Feb 18 Python
找Python安装目录,设置环境路径以及在命令行运行python脚本实例
Mar 09 Python
Python filter过滤器原理及实例应用
Aug 18 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
NOT NULL 和NULL
2007/01/15 PHP
PHP提示Deprecated: mysql_connect(): The mysql extension is deprecated的解决方法
2014/08/28 PHP
php实现的一个简单json rpc框架实例
2015/03/30 PHP
YII视图整合kindeditor扩展的方法
2016/07/13 PHP
thinkPHP5.0框架整体架构总览【应用,模块,MVC,驱动,行为,命名空间等】
2017/03/25 PHP
PHP+Redis链表解决高并发下商品超卖问题(实现原理及步骤)
2020/08/03 PHP
JavaScript脚本性能优化注意事项
2008/11/18 Javascript
javascript 放大镜 v1.0 基于Yui2 实现的放大镜效果
2010/03/08 Javascript
EasyUi combotree 实现动态加载树节点
2016/04/01 Javascript
JS添加删除DIV的简单实例
2016/07/08 Javascript
JS获取子节点、父节点和兄弟节点的方法实例总结
2018/07/06 Javascript
JavaScript实现正则去除a标签并保留内容的方法【测试可用】
2018/07/18 Javascript
Node.js中package.json中库的版本号(~和^)
2019/04/02 Javascript
使用kbone解决Vue项目同时支持小程序问题
2019/11/08 Javascript
js中script的上下放置区别,Dom的增删改创建操作实例分析
2019/12/16 Javascript
[02:43]DOTA2英雄基础教程 圣堂刺客
2013/12/09 DOTA
Python之虚拟环境virtualenv,pipreqs生成项目依赖第三方包的方法
2019/07/23 Python
Python实现决策树并且使用Graphviz可视化的例子
2019/08/09 Python
python常用运维脚本实例小结
2020/02/14 Python
Python如何安装第三方模块
2020/05/28 Python
如何导出python安装的所有模块名称和版本号到文件中
2020/06/05 Python
python3中数组逆序输出方法
2020/12/01 Python
Python基于argparse与ConfigParser库进行入参解析与ini parser
2021/02/02 Python
matplotlib事件处理基础(事件绑定、事件属性)
2021/02/03 Python
多视角3D逼真HTML5水波动画
2016/03/03 HTML / CSS
英智兴达软件测试笔试题
2016/10/12 面试题
经理秘书岗位职责
2013/11/14 职场文书
车间工艺员岗位职责
2013/12/09 职场文书
出国导师推荐信
2014/01/16 职场文书
大学理论知识学习自我鉴定
2014/04/28 职场文书
群众路线教育实践活动整改方案(个人版)
2014/10/25 职场文书
MYSQL主从数据库同步备份配置的方法
2021/05/26 MySQL
Node-Red实现MySQL数据库连接的方法
2021/08/07 MySQL
python脚本框架webpy模板赋值实现
2021/11/20 Python
Javascript中async与await的捕捉错误详解
2022/03/03 Javascript
vue本地构建热更新卡顿的问题“75 advanced module optimization”完美解决方案
2022/08/05 Vue.js