最详细的python案例学习与实践(含详细教程)

为了学习Python,使用Python开发应用程序,手头必须有得力的工具。在笔者看来,Python和PyCharm是最基本的学习和开发工具。如果要成为教育家或作家型的Python程序员,那么还必须准备Jupyter Notebook。

这里所说的Python,准确地说,是指Python程序的“解释器(Interpreter)”,它相当于C语言的“编译器”。而PyCharm是编写和调试Python程序的集成开发环境,被简称为“IDE”,它相当于Visual C++6.0。

 

Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。

Python是由Guido van Rossum于1989年年底发明,并于1991年公开发行的。像Perl语言一样,Python源代码同样遵循GPL(GNU General Public License)协议。这里所说的Python不是指语言本身,而是指Python程序的“解释器”,它通常有Python 2.x和Python 3.x版本之分,两者有较大区别。如果要学习Python语言,则必须首先安装Python解释器。如果你是Python初学者,那就不存在烦人的版本选择问题,笔者建议直接从Python 3.x开始学习。

以下所说的Python均是指Python解释器。

如果想知道在计算机上已经安装的Python是哪个版本的,则可通过在终端方式下使用以下方法获得。

1.1 查看Python版本的第一种方法

打开Windows操作系统的【开始】菜单下的【命令输入框】,如图1-2所示。

首先在命令输入框内输入“cmd”并回车,即可进入终端状态,如图1-3所示。

图1-2 命令输入框

图1-3 终端状态(命令行)

然后输入“python -V”并回车(注意是大写的V)。执行该命令后,即可看到在计算机上安装的Python的版本信息,如图1-4所示。

图1-4 Python版本信息查看结果

由图1-4可知,在当前计算机上安装的是Python 3.6.3版本。

2.查看Python版本的第二种方法

直接按“Win(Windows键)+R”组合键,即可进入如图1-5所示的命令行输入状态。

然后输入“cmd”并回车,也可以进入如图1-3所示的终端状态。

图1-5 通过按“Win+R”组合键进入命令行输入状态

余下的步骤与第一种方法相同。

在安装Python 3.x的同时,也安装了Python官方的IDLE,它是一个相对比较简陋的Python程序开发调试环境。不过,对于初学者而言,IDLE也是一个功能基本完备的集成开发环境(IDE)。在后续章节中,将会详细讨论如何使用IDLE。

 

1.2. 常用的Python集成开发环境

Python的集成开发环境有多种,它们各有千秋,但综合起来,被公认为最优秀的是PyCharm。当然,学习者可以根据各自的喜好选择适合自己的Python集成开发环境。

在讨论如何安装PyCharm之前,首先简要地介绍以下几种常用的Python集成开发环境。

1.PyCharm

PyCharm是由JetBrains打造的一款Python IDE。

PyCharm具备大多数Python IDE所具有的功能,比如,调试、语法高亮、项目管理、代码跳转、智能提示、代码补全、单元测试、版本控制等。PyCharm还提供了一些特别的功能,例如,用于Django开发的功能、支持Google App Engine的功能等。

更让人称奇的是,PyCharm支持IronPython。

PyCharm的官方下载地址为http://www.jetbrains.com/pycharm/download/。

JetBrains提供多种版本的PyCharm。免费版本为Community版本,即社区版本,它是轻量化的集成开发环境,主要用于科学计算,但对学习和一般的应用开发完全适用、够用。全功能版本为Professional版本,即专业版,它支持Web应用开发,但不是免费的,而且价格不菲,通常让学习者难以承受。

2.Sublime Text

Sublime Text也是Python集成开发环境,它具有漂亮的用户界面和强大的功能。Sublime Text的主要功能包括拼写检查、书签、完整的Python API、Goto功能、即时项目切换、多选择、多窗口等,还支持代码缩略图、Python的插件,可自定义键绑定、菜单和工具栏。

Sublime Text是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS等操作系统。借助Sublime Text 2的插件扩展功能,可以轻松地打造一个完善的Python集成开发环境。以下推荐几款常用的插件,当然插件不止这些。

· CodeIntel——自动补全+成员/方法提示。

· SublimeREPL——用于运行和调试一些需要交互的程序,如使用Input()的程序。

· Bracket Highlighter——括号匹配及高亮。

· SublimeLinter——代码PEP 8格式检查。

Sublime Text是为程序员准备的优秀的文本编辑器之一,它在Windows、Linux和Mac OS三大主流桌面操作系统上均能被运行。当然,这并不表示Sublime Text是完美的,它还有不少缺陷,而最让人深感遗憾的是,Sublime Text既不免费也不开源。

3.Eclipse+PyDev

作为集成开发环境,Eclipse+PyDev是完全开源的。Eclipse最初是被用于开发Java程序的,但是,它的外挂功能特别强大,可通过PyDev等插件形式,实现对Python等多种语言的支持。必须指出的是,相对于PyCharm而言,安装Eclipse+PyDev的过程是比较烦琐的。以下是安装Eclipse+PyDev的大致步骤。

1)安装Eclipse

可以在Eclipse的官方网站Eclipse.org上找到并下载Eclipse。下载时,必须选择合适的Eclipse版本,比如,Eclipse Classic。下载完成后,将它解压到某个指定的目录。当然,在执行Eclipse安装之前,必须首先安装Java运行环境,即必须安装JRE或JDK。可以在http://www.java.com/en/download/manual.jsp网站上找到JRE。下载JRE,然后安装它。

2)安装PyDev

运行Eclipse之后,选择【Help】→【Install new Software】命令,即可安装所需的插件,这里主要是指PyDev。从此,Eclipse具有了开发Python应用程序的功能。

3)设置PyDev

设置PyDev的过程有点烦琐。幸运的是,在网上可以找到很多关于设置的资料,所以在这里不再赘述设置问题。

1.3 安装和设置Python

1.3.1 获取Python

可从官方网站上免费下载最新版本的Python,不过,下载时一定要注意与计算机操作系统的匹配关系。假如操作系统是Windows XP或更早的版本,则不能安装Python 3.5以上版本。另外,由于Python有Windows、Linux、Mac OS等多种版本,因此,千万不要下载与操作系统不对应的版本。也就是说,在选择版本时一定要充分考虑安装环境,如图1-6所示。

图1-6 Python的安装环境选择

Python的官方下载地址为https://www.python.org/。进入官方网站后的界面如图1-7所示。

图1-7 Python官方网站主界面

将鼠标指针移至【Downloads】菜单,出现图1-8所示的下载页面。

图1-8 Python的下载页面

选择【Windows】后,出现类似于图1-9所示的版本选择界面。

图1-9 版本选择界面

通过下翻找到并选择其中的【Python 3.6.4】,然后下翻找到Files部分,出现选择32位或64位Python 3.6.4的界面,如图1-10所示。

图1-10 选择32位或64位Python 3.6.4的界面

接下来,根据计算机操作系统是32位还是64位的实际情况进行合理选择。如果操作系统是64位的,则选择32位或64位的Python版本均可。由于笔者所用的操作系统是64位的Windows 7,所以,此处选择的是64位的Python安装程序,如图1-11所示。

图1-11 64位的Python安装程序

单击该文件,即可进入下载状态。不过,在下载前必须指定某个文件夹作为保存下载文件的路径,例如,图1-12中指定的文件夹为“K:\Python及其资料”。单击【下载】按钮,经数秒后,即可完成下载。

图1-12 指定下载文件保存路径

1.3.2 安装Python

打开被下载的文件所在的文件夹,找到刚刚下载的Python安装文件,也就是python-3.6.4-amd64.exe,如图1-13所示。

图1-13 找到下载后的文件

双击python-3.6.4-amd64.exe文件,即可进入安装界面,如图1-14所示。

图1-14中出现两种安装方式:【Install Now】(立即安装)和【Customize installation】(自定义安装),前者为默认安装方式。

图1-14 Python安装界面

·【Install Now】:默认安装方式,安装的路径也是默认的。这种方法相对简单,只要按默认设定一步一步地往下操作即可完成安装。

·【Customize installation】:自定义安装方式,该方式可以指定安装的路径,也可选择要安装的模块与功能。特别需要提醒的是,如果要自定义安装Python的路径,那么必须选择该安装方式。

这里以自定义安装方式为例,详细介绍安装Python的过程。

首先,勾选【Add Python 3.6 to PATH】复选框,通过它将Python 3.6的路径信息加入环境变量PATH中(该变量在后面会被提到),如图1-15所示。

图1-15 勾选【Add Python 3.6 to PATH】复选框

这里必须补充和提醒的是,在安装前,必须在计算机上新建安装Python的文件夹,例如,在D盘上新建一个名为“python364”的文件夹,如图1-16所示。

图1-16 新建安装Python的文件夹

然后,单击【Customize installation】链接,出现图1-17所示的Python基本选项设置界面。

图1-17 Python基本选项设置界面

从图1-17中可以看出,默认勾选了全部特性,用户可自行选择相关特性。这些特性包括Documentation(说明文档)、pip(安装器)、tck/tk and IDLE(图形库和IDLE)、Python test suite(测试套装)、py launcher(Python启动器)、for all users(对所有用户)。

接着,单击【Next】按钮继续安装,出现图1-18所示的Python高级选项设置界面。

图1-18 Python高级选项设置界面

从图1-18中可以看出,默认勾选了3个高级选项,它们分别代表文件关联、快捷键和将Python加入环境变量。如果需要,则可勾选【Install for all users】复选框,此时会自动勾选【Precompile standard library】复选框。【Customize install location】栏目用于自定义安装路径(文件夹)。将【Customize install location】栏目下的路径通过右侧的【Browse】按钮切换为指定的路径“D:\python364”,如图1-19所示。

图1-19 指定Python安装路径

上述这些设置完成后,单击【Install】按钮,即可开始安装,安装进程如图1-20所示。

图1-20 Python安装进程

完成安装后,出现图1-21所示的提示信息界面,表示Python安装成功。

图1-21 Python安装成功界面

单击【Close】按钮,圆满完成安装过程。也就是说,学习Python的基本环境已经被建立,可以开启学习之路了,这是不是让人有点激动呢?

完成安装后,在计算机的【开始】菜单中,如果出现图1-22所示的内容,则说明安装大功告成!当然,完成Python的安装后,还必须进行一些必要的设置,下一节将讨论设置问题。

图1-22 Python出现在【开始】菜单中

1.3.3 设置Python

在通常情况下,按照1.3.2节所述步骤完成Python的安装后,不需要再做任何设置。但是,也有可能出现需要设置的情况,主要就是设置环境变量。那么,如何判断需不需要设置呢?可通过查看环境变量加以确定。

如何查看环境变量呢?

将鼠标指针移至桌面的“计算机”或“我的电脑”图标上,然后单击鼠标右键,在弹出的快捷菜单中选择【属性】命令,出现图1-23所示的系统属性界面。

在图1-23中,可以看到计算机所用的操作系统等信息。单击左侧的【高级系统设置】,出现图1-24所示的高级系统设置界面。

在图1-24所示的【高级】选项卡中,可以看到【环境变量】按钮。单击【环境变量】按钮后,出现图1-25所示的环境变量设置界面。

图1-23 系统属性界面

图1-24 高级系统设置界面

图1-25 环境变量设置界面

在【系统变量】选项组中,如果能看到图1-26所示的环境变量信息,则说明Python已经安装完成,并且不再需要做环境变量设置。

图1-26 当前环境变量信息

当然,还有一种更加简便的办法可以直接判断是不是需要设置环境变量:在【cmd】输入框内输入“python”,如果出现图1-27所示的界面,主要是出现Python的“>>>”终端提示符,则说明Python已经安装成功,不需要设置环境变量了。

图1-27 Python的终端方式

如果上述两种方式都不行,也就是说,没有出现所说的情况,则需要手动设置环境变量。

对于Python而言,所谓设置环境变量,其实就是设置Path或PYTHONPATH参数。

为什么要设置环境变量?这是一个很有意义的问题!环境变量的作用就是使得Python程序在运行时能找到相应的路径,包括Python.exe所在的路径及脚本程序所要使用的外部模块所在的路径。

下面一起讨论如何设置环境变量。

对于初学者而言,通常有以下两种方式可以设置环境变量。

1.设置环境变量的第一种方法

通过“cmd”命令添加Path环境变量。

在【开始】菜单下的命令输入框内输入“cmd”后进入终端状态,然后直接输入以下命令:

接着按回车键。

在上述命令中,“D:\Python3646”是Python的安装路径,它就是需要被添加的设置项;而“%path%”表示保留环境变量Path原有的设置值,将D:\Python3646添加在它们之后,如图1-28所示。

图1-28 编辑环境变量

需要提醒的是,使用该方法设置的环境变量是临时有效的。在重启计算机后,新设置的内容自动被放弃。

2.设置环境变量的第二种方法

在【环境变量】中添加Python路径。

单击图1-26中的Path变量,在这个变量现有值(字符串)的最前面或最后面(当然,也可以是中间位置)手工输入Python路径“D:\python3646\”,注意各路径要用分号“;”隔开,如图1-29所示。

图1-29 环境变量Path的编辑

最后,给出一幅完整的环境变量设置示意图,如图1-30所示。

至此,就可以使用Python语言编写Python程序了。请大胆尝试,用Python程序向世界发出“Hello,world!”的问候吧!

图1-30 完整的环境变量设置示意图

思考与实践

1.请用各种方式查询10份以上关于Python语言的资料,进一步理解Python的基本特点和应用领域。

2.以下是一个Python程序,请通过学习,了解Python程序的基本语法和基本组成。

3.Python是编译型语言还是解释型语言?请找出两种以上同类语言。

4.请在计算机上安装Python,并对它进行正确的配置。

5.为什么要设置环境变量?设置环境变量要注意哪些问题?如何检验环境变量设置完成与否?

6.请用Python语言编写一个小程序,向世界发出第一声问候:“Hello,world!”

IDLE的安装

IDLE是在安装Python时被自动安装的,只是在安装Python时,一定要确保选中了组件“tcl/tk”。准确地说,应该是不要取消选择该组件,因为在默认情况下该组件是处于被选中状态的。

也就是说,IDLE不是被单独安装的,也不需要被单独安装。因此,对于IDLE而言,实际上是不存在安装这个问题的。此处之所以单独列出来加以阐述,是为了保证叙述逻辑上的连贯性。

2.1.2 IDLE的启动

安装Python后,可逐级通过菜单【开始】→【所有程序】→【Python】→【IDLE】找到IDLE并启动。IDLE被启动后的初始窗口如图2-1所示。

图2-1 IDLE被启动后的初始窗口

从图2-1中可以看出,启动IDLE后,首先映入眼帘的是它的Python Shell,可以通过它在IDLE环境下执行Python命令。除此之外,IDLE还带有一个编辑器,用于编辑Python程序。概括地说,IDLE有一个编辑器用于编写脚本程序;有一个交互式解释器用于解释、执行Python的语句;有一个调试器用于调试Python脚本程序。

2.1.3 IDLE的个性化设置

单击【Options】,在下拉菜单中出现【Configure IDLE】选项,如图2-2所示。

图2-2 IDLE的Configure IDLE选项

单击【Configure IDLE】后,进入如图2-3所示的界面。

从图2-3中可以看出,【Configure IDLE】共涉及【Fonts/Tabs】【Highlights】【Keys】【General】【Extensions】5个选项卡,分别用于设置字体/缩进空格、字体高亮、快捷键、窗口总特性、插件(扩展)。

1.Fonts/Tabs设置

Fonts/Tabs设置界面如图2-4所示。

从图2-4中可以看出,该选项卡的设置内容主要有3项:字体、字号和缩进的空格数。缩进是Python很重要的语法特征,从图2-4中可以看出,默认缩进4个空格,当然,也可以自行选择缩进2个空格或更多;Edit和Shell两种模式的默认字号均为16,字体是新宋体。

图2-3 Configure IDLE的设置内容

图2-4 Fonts/Tabs设置界面

2.Highlights设置

【Highlights】选项卡主要用于设置Shell和Edit模式下的高亮显示(配色方案),以及IDLE的界面模式(外观),如图2-5所示。从图2-5中可以看出,需要配色的内容较多,每项都可以单独设置前景色和背景色。IDLE的3种界面模式分别是IDLE Classic、IDLE Dark和IDLE New,如图2-6所示。这3种界面模式的风格差异较大,可根据个人的喜好自由选择其中一种。

图2-5 Highlights设置界面

图2-6 3种界面模式

图2-7展示的是Shell和Edit模式下的高亮显示(配色方案),其中包括正常文本、关键词、定义等多个选项。如果需要,则可逐项设置相应的前景色和背景色。配色方案被保存后,可以永久使用。当然,如果懒得设置,那就使用默认的配色方案。

图2-7 Choose Color for(配色方案)设置界面

3.Keys设置

【Keys】选项卡主要用于设置IDLE的各种快捷键,也就是说,可以对IDLE默认的快捷键进行定制(Customize)。默认使用的是Built-in Key Set(系统默认快捷键集)。在通常情况下,不需要调整快捷键,除非使用者对部分快捷键有特殊需要和偏爱,或者部分快捷键与其他软件存在冲突。图2-8所示是Keys设置界面。必须注意的是,如果对快捷键进行了设置,则必须通过单击【Save as New Custom Key Set】按钮保存配键方案。

图2-8 Keys设置界面

4.General设置

【General】选项卡设置的内容主要跟窗口的特性有关,包括Window Preferences(窗口特性)和Editor Preferences(编辑器特性)两大部分,如图2-9所示。

图2-9 General设置界面

· Window Preferences:用于设置IDLE启动后默认的窗口类型是【Open Edit Window】还是【Open Shell Window】。也就是说,在启动IDLE时,是打开编辑窗口,还是打开Shell命令行窗口。同时也可以设置窗口的大小,窗口大小默认为80列×40行。在有些情况下,如果觉得默认窗口过大,则可以更改此项设置。

· Editor Preferences:用于设置在运行(Run,按【F5】键)程序前是否需要提示保存文件,默认设置为【Prompt to Save】,即在运行程序前需要提示保存文件。也可以设置为【No Prompt】,即不提示保存而直接运行。

从图2-9中可以看到,窗口大小已被设置为80列宽、20行高,该参数下的窗口效果如图2-10所示。

图2-10 窗口大小被设置为80列×20行

5.Extensions设置

【Extensions】选项卡主要用于设置扩展IDLE功能的插件及其有关特性。IDLE默认只有一个名为ZzDummy的插件,该插件只是一个测试插件,仅被用于插件演示,无实质性意义。

从图2-11中可以发现,除ZzDummy之外,还增加了一个ClearWindow插件,顾名思义,它是一个用于清屏的插件。需要指出的是,所有的插件都必须被另外安装,因为它们不是标准插件。关于清屏插件ClearWindow的详细内容,请参阅2.5节的讨论。

图2-11 Extensions设置界面

2.2 Edit编辑模式与Shell命令行模式的切换

2.2.1 Edit编辑模式与Shell命令行模式的切换方式

IDLE有两种工作模式,分别是:

· Edit编辑模式——用于编写程序。

· Shell命令行模式——用于逐条执行语句。

IDLE的Edit和Shell模式可以相互切换,它们之间相互切换的方式如下。

1.从Shell模式切换至Edit模式

如果首先打开的是Shell模式(Shell窗口),那么另一种模式就是Edit模式。Shell模式也被称为“终端模式”。Shell模式的主界面如图2-12所示。

如果当前模式是Shell模式,则可通过菜单命令【File】→【New File】进入Edit模式,如图2-13所示。此时的主界面如图2-14所示。

进入Edit模式后,就可以编写Python程序了。该模式包含了文本编辑常用的基本功能,主要包括选择、复制、粘贴、高亮、自动缩进、括号“()”的左右匹配提示等。

图2-12 Shell模式的主界面

图2-13 通过菜单命令【File】→【New File】进入Edit模式

图2-14 Edit模式的主界面

2.从Edit模式切换至Shell模式

在Edit模式下的【Window】菜单中,有一个命令为【Python 3.6.4 Shell】(注:不同的版本,该命令的信息会相应地有所不同),如图2-15所示。

图2-15 Edit模式下的【Window】菜单

单击【Python 3.6.4 Shell】,即可从Edit模式切换至Shell模式。同理,在Shell模式下的【Window】菜单中,同样会出现正在编辑的程序选项。如果该程序没有被保存过,那么文件名即图中的【Untitled】;如果该程序已被保存过,则文件名为已使用的文件名。单击该文件名也可以从Shell模式切换至Edit模式。

2.2.2 IDLE的文本编辑功能

IDLE具有比较完备的文本编辑功能,例如,代码自动缩进、语法高亮显示、单词自动补齐及命令历史等。借助这些功能,开发者能够比较高效地编写程序。

因为IDLE具有Edit和Shell两种工作模式,所以以下所述的特性在这两种模式下均适用,它们可用于文字或代码的编辑。

在Shell模式下【Edit】菜单的具体内容如图2-16所示。

而在Edit模式下【Edit】菜单的具体内容如图2-17所示。

图2-16 Shell模式下的【Edit】菜单

图2-17 Edit模式下的【Edit】菜单

从上述两图的对比中可以看出,在两种模式下【Edit】菜单的功能完全相同。以下对各项功能简单地加以分析。

· Undo:撤销上一次的修改。

· Redo:重复上一次的修改。

· Cut:将所选文本剪切至剪贴板。

· Copy:将所选文本复制到剪贴板。

· Paste:将剪贴板上的文本粘贴到光标所在位置。

· Find:在窗口中查找单词。

· Find in Files:在指定的文件中查找单词。

· Replace:替换单词。

· Go to Line:将光标定位到指定行首。

· Show Completions:关键词自动补齐。

· Expand Word:单词自动补齐(只针对自定义的单词)。

在上列项目中,后两项的功能非常实用。遗憾的是,在默认的快捷键集中,【Show Completions】命令的快捷键【Ctrl+Space】往往与Windows操作系统的输入法切换的快捷键发生冲突,因此,强烈建议自行设定该快捷键。幸运的是,无论是在Edit模式下,还是在Shell模式下,关键词自动补齐功能还有更好的快捷方式,那就是【Tab】键。

1.关键词自动补齐

关键词自动补齐功能示例如图2-18所示。

在图2-18所示的状态下,按下【Tab】键,则出现图2-19所示的情况。

图2-18 关键词自动补齐功能示例

图2-19 关键词自动补齐选择

选中要补齐的单词后,再按两次【Tab】键,“pr”就被自动补齐为“print”了。这个功能是不是太实用了?是的,这个功能对于程序开发者而言,简直是一个妙不可言的“神器”!当然,除按两次【Tab】键外,还可以通过上下移动光标选择需要的单词,直接按回车键得到完整的单词。

这里要特别提醒的是,此法只适用于Python的关键字,不适用于自定义单词的补齐。

2.代码自动缩进

实际上,很少有语言能像Python如此重视缩进了。在其他语言中,如C语言,缩进对于代码的设计而言,是“有了更好”,而不是“没有不行”,它充其量是个人书写代码的风格问题。但是,对于Python语言而言,缩进是语法的强制性要求和刚性规定。在Python程序里,语句块(复合语句)不是用大括号“{}”之类的符号表示的,而是通过缩进加以表示的。这样做的好处就是减少了程序员的自由度,有利于统一风格,使得人们在阅读代码时感觉更加轻松。为此,IDLE提供了代码自动缩进功能,它能将光标自动定位到下一行的指定空白处。当输入与控制结构对应的关键字,例如,输入关键字if及其条件表达式,或者输入关键字def和函数名,并按下回车键后,IDLE就会启动代码自动缩进功能。

图2-20演示了代码自动缩进功能。

图2-20 代码自动缩进功能演示

当在自定义函数func()所在行的冒号后面按回车键之后,IDLE自动做了缩进处理。也就是说,语句print()前的空格是被自动插入的。

在一般情况下,IDLE每将代码缩进一级,相当于自动输入4个空格。如果想改变这个默认的缩进量,则可以修改【Options】→【Configure IDLE】→【Fonts/Tabs】→【Indentation Width】选项以实现缩进量的调整。对于初学者来说,需要注意的是,尽管自动缩进功能非常方便,但是不能完全依赖它,因为有时候自动缩进未必能完全符合设计的真实意图和要求,所以要仔细检查自动缩进所对应的层次关系,以确保层次正确。

3.语法高亮显示

所谓“语法高亮显示”,就是将代码中的不同元素通过不同的颜色加以突出显示。在默认情况下,关键字显示为橘红色,注释显示为红色,字符串显示为绿色,定义和解释器的输出显示为蓝色,控制台输出显示为棕色。在输入代码时,会自动应用这些颜色突出显示,这就是语法高亮显示。

语法高亮显示的好处是:可以更方便地区分不同的语法元素,从而提高程序的可读性;与此同时,降低了程序出错的可能性。比如,如果输入的变量名显示为橘红色,那么你需要注意了,这说明该名称与预留的关键字重名了,因为关键字是以橘红色显示的,所以,它给出了一种提示:请给变量更换名称,否则可能会导致冲突。

4.单词自动补齐

所谓“单词自动补齐”,指的是当用户输入单词的一部分后,从【Edit】菜单中选择【Expand Word】命令,或直接按【Alt+/】组合键,可自动补充该单词的余下部分。这个功能只适用于自定义的单词,即自定义的函数名、变量名、类名或属性名等。

2.3 在IDLE中运行程序

在IDLE环境下,运行一个Python程序通常有两种方式。

2.3.1 在Edit模式下运行程序

在IDLE的Edit模式下,要运行程序,可从【Run】菜单中选择【Run Module】命令,其功能是执行当前文件,即当前编辑区中正在被编辑的程序。

举例1:Edit模式下的程序运行。

首先,在Edit模式下,在编辑区中写入如下程序:

通过【File】→【Save】或【Save as】命令保存上述被编辑的程序文件。对于首次保存,两者的效果是一样的,都必须为文件命名,例如,myrundemo1.py。请注意,文件类型默认为.py。

在Edit模式下,文件被保存后的界面如图2-21所示。

图2-21 在Edit模式下文件被保存后的界面

然后,选择【Run】→【Run Module】命令(如图2-22所示)或直接按功能键【F5】,运行当前正在被编辑的模块(程序)myrundemo1.py。程序被运行后,其结果会在Shell窗口中输出,如图2-23所示。

图2-22 运行程序菜单选项

图2-23 程序运行结果在Shell窗口中输出

2.3.2 在Shell模式下运行程序

在Shell模式下,只能通过命令行方式逐条输入语句,逐条执行语句。

举例2:在Shell模式下运行与举例1相同的程序。

该例的程序代码与举例1的程序代码完全相同,只不过它只能一条语句接一条语句地以命令行方式被输入和运行,如图2-24所示。

图2-24 在Shell模式下输入与运行程序

在本例中,自动缩进功能也得到了很好的演示,因为语句print(ll)是被自动缩进的。

上述代码的运行结果与在Edit模式下的运行结果完全一致。

2.4 IDLE的程序调试功能

2.4.1 两种调试方法

在软件开发过程中,总免不了出现这样或那样的错误。在这些错误中,有些是属于语法方面的,有些是属于逻辑方面的。对于语法错误,Python解释器能轻而易举地将它们检测出来。因此,如果程序中存在语法错误,那么Python会停止运行程序并给出错误提示。而对于逻辑错误,Python解释器是无能为力的。如果程序中存在逻辑错误,那么虽然程序可以被运行,但是会出现死机或抛出异常的问题。显然,在这样的情况下,程序的运行结果一定是错误的。面对逻辑错误,最简单而可靠的解决方法就是对程序进行调试,也就是常说的“Debug”。

单词debug可以被分为两部分——de和bug,将两者合在一起,就是找出臭虫的意思;在计算机领域,被引申为发现错误的“调试”。

调试程序的方法有很多,有些需要借助工具,而有些需要借助程序开发者的经验。当然,经验是在长期的调试过程中积累起来的。

1.经验调试法

最简单的调试方法是直接显示程序运行中的有关数据,这是一种基于经验的调试方法。例如,可在某些关键位置用print()语句显示有关变量的值,然后通过输出值与期望值的对比,确定当前程序段有没有出错。该方法最大的问题是,开发者必须在所有可疑的地方插入print()语句,但是由于它们本身不是程序的真正代码,所以,等到程序被调试完后,还必须将这些打印显示语句全部清除。尽管如此,笔者还是非常喜欢这种方法,虽然比较烦琐,但是很管用,而且是人人学得会的调试方法。

2.工具调试法

除经验调试法外,还可以使用调试器进行调试。借助调试器,可分析被调试程序的数据,同时监视程序的运行流程。调试器通常具有暂停程序运行、检查和修改变量、调用方法而不更改程序代码等功能。

与大多数集成开发环境相似,IDLE也提供了一个调试器,它所具有的程序调试功能也可帮助开发者比较方便、快速地查找逻辑错误。

2.4.2 在Shell模式下的程序调试

在【Python Shell】窗口中选择【Debug】→【Debugger】命令,如图2-25所示,即可启动IDLE的交互式调试器。此时,IDLE会打开【Debug Control】窗口,并在【Python Shell】窗口中输出“[DEBUG ON]”,后跟一个“>>>”提示符,如图2-26所示。可像正常情况那样使用【Python Shell】窗口,只不过在调试状态下输入的任何命令都处于调试模式。借助调试器,可在【Debug Control】窗口的【Locals】下查看局部变量的值及与程序运行有关的其他内容。当然,为了查看全局变量,必须勾选【Globals】复选框。

图2-25 选择【Debug】→【Debugger】命令

图2-26 Debug的开关示意

如果要退出调试器,则可再次选择【Debug】→【Debugger】命令,IDLE会关闭【Debug Control】窗口,并在【Python Shell】窗口中输出“[DEBUG OFF]”。

需要注意的是,在Shell模式下,只能对语句进行编辑和调试。也就是说,只能先写一条语句,然后通过Debugger单步调试该语句。换句话说,Debug开关要被反复切换,类似于图2-27所示的效果。

图2-27 打开和关闭Debugger的界面

下面通过一个例子较为详细地讨论调试的过程。

首先,选择【Debug】→【Debugger】命令,打开Debug调试器,如图2-25所示。

在出现“[DEBUG ON]”后,在“>>>”提示符后输入待调试的语句。例如,输入如下for语句:

输入完成后,按回车键,即可进入调试状态,如图2-28所示。

图2-28 处于单步调试状态[DEBUG ON]的程序调试演示

此时,代码尚未被执行,必须通过【Debug Control】窗口中的Step、Over等单步调试命令一步一步地执行,从而得到每一步的执行结果。

这里需要说明的是:

· Step相当于Step in,即进入被调用函数或方法内部。

· Over相当于Step Over,即直接运行被调用函数或方法。

· Out相当于一次性执行该代码。

· Go相当于Out。

图2-29所示是单击【Over】按钮两次后,该代码输出的结果。

图2-29 单击【Over】按钮两次后,该代码输出的结果

通过【Debug Control】窗口中的Step、Over等单步功能,可以单步方式调试程序代码。通过查看每一步的执行结果和变量的变化,来判断、确定程序代码的正确性。单步调试是所有调试器中最为强大、最为常用的功能。

2.4.3 在Edit模式下的程序调试

进入Edit模式后,在编辑区中写入与上面一样的代码并保存,如图2-30所示。

图2-30 在Edit模式下程序的编辑输入

在Edit模式下,通过选择【Run】→【Python Shell】命令,如图2-31所示,打开Shell窗口,进入Shell模式。

图2-31 在Edit模式下选择【Run】→【Python Shell】命令

选择【Debug】→【Debugger】命令,即可进入Debug状态,如图2-32所示。

图2-32 进入Shell模式的Debug状态

然后切换回Edit模式,选择【Run】→【Run Module】命令,执行运行程序的命令,从而使IDLE正式进入Debug状态。接下来,通过【Debug Control】窗口中的各种单步调试功能来实现单步调试,它们的具体用法与在Shell模式下的用法相同。

不过,需要特别指出的是,在Edit模式下,使用Over与Step单步调试功能,一定要注意它们的区别,而这只能靠多实践才能领会。

2.4.4 断点调试

单步调试让人感觉效率低下,有时候甚至觉得无法忍受。相对而言,断点调试的效率要高很多。

所谓断点调试,就是先在程序中怀疑有问题的地方设置一个标志——断点标志,然后让程序全速运行,运行到此处,程序被暂停运行,此时,开发者可以通过程序呈现的结果(例如,某些变量的值)与预期的结果的比对,从而判断刚被运行的程序段是否存在问题,也就是找到程序错在哪里、是什么问题。

断点调试的主要步骤如下。

1.设置断点

在Python的源程序编辑器中,在需要进行断点调试的代码行上单击鼠标右键,在弹出的快捷菜单中选择【Set Breakpoint】命令,之后该行的底色就变为黄色,用以指示在此行设置了一个断点。如果要设置多个断点,就按此法对其他语句进行设置。

2.打开Debugger

通过菜单【Run】切换到Python的Shell模式,在Shell模式下选择【Debug】→【Debugger】命令,使IDLE进入Debug状态。

3.切换到编辑模式

在Edit模式下,按【F5】键或选择【Run】→【Run Module】命令,运行当前编辑区中正在被编辑的程序。如果出现在运行前先保存文件的提示,则请先保存文件。

4.运行到断点处

在【Debug Control】窗口中单击【Go】按钮,即可全速运行程序,遇到断点则自动暂停。注意,断点所在的那条语句此刻尚未被执行。此时,调试者要做的是比对工作,即比对此刻的结果与预期的结果,以判断刚被执行的代码是否存在问题。之后,可以继续运用【Go】【Over】或【Step】执行该断点语句及其后的语句。如果后面还有断点,那么,当遇到断点时,程序的运行又被暂停。

2.5 在Shell模式下如何清屏

在学习和使用Python的过程中,少不了要与Python的IDLE打交道。但在使用IDLE的时候,学习者和开发者都会遇到一个常见而又懊恼的问题:无法清屏。

如何让IDLE具有清屏功能?

可以为IDLE增加一个专门用于清屏的扩展插件ClearWindow,该插件其实就是一个Python程序。下面简要地讨论如何安装与使用该插件。

1.下载ClearWindow插件

在网上下载插件程序clearwindow.py。它的具体下载地址请读者自行搜索。

2.安装插件

将clearwindow.py文件复制到Python安装目录的Python XXX\Lib\idlelib文件夹下,例如,D:\python364\Lib\idlelib。注意,一定要正确地选择目录。也就是说,一定要根据具体的安装位置来确定具体的目录。

3.设置IDLE

用记事本软件打开Python XXX\Lib\idlelib目录下的config-extensions.def文件,它是IDLE扩展(插件)的配置文件。当然,从安全的角度来看,为了防止操作出错,可在打开它之前先备份一份。

打开后,修改config-extensions.def文件的内容,主要是在文件末尾添加如下内容,然后保存并退出。

4.查看效果

此后,再次打开Python的IDLE,即可看到在【Options】菜单中增加了【Clear Shell Window】命令,如图2-33所示。

图2-33 在【Options】菜单中增加了【Clear Shell Window】命令

由于增加了一个清屏插件,因此,在【Options】→【Configure IDLE】→【Extensions】下增加了一个ClearWindow插件,如图2-34所示,右侧的选项可以对该插件进行使能/失能的设置:enable=1表示使能,enable=0表示失能(该插件无效)。

图2-34 ClearWindow插件的使能设置

在IDLE命令行方式下输入代码,然后按【Ctrl+l】组合键,会发现刚输入的代码被全部清除了,也就是实现了清屏功能。

这里要特别提醒一下,以上设置的快捷键为【Ctrl+l】,也可修改成其他快捷键,方法是:将config-extensions.def文件的设置选项“clear-window=”中的Control和l修改成其他键即可。

思考与实践

1.在IDLE的Shell模式下,输入以下程序,并进行单步调试,以确定程序的错误所在。

2.在IDLE的Edit模式下,通过设置断点的方式调试上述程序,以确定程序的错误所在。

3.按照本章所述,为IDLE安装一个清屏插件。

4.请在Shell模式和Edit模式下,分别编写并运行以下程序。

5.编写一个自主创意的Python程序。

 

更多python相关VIP专享文章免费阅读、千本电子书免费阅读、N次源码资源下载、近千门课程免费学习等特权,

↑↑ 开通CSDN  VIP免费享有  ↑↑
 

戳我,立即开通>>   立享7项VIP专项特权!

戳我,立即开通>>

已标记关键词 清除标记
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页