返回介绍

我应该选用哪种

发布于 2024-01-29 22:24:17 字数 1795 浏览 0 评论 0 收藏 0

这里所有的选择中,很自然就会提出一个问题:哪一种最适合我?一般来说,如果你是刚刚开始学习Python,应该使用IDLE界面做开发。它提供了一个用户友好的GUI环境,并能够隐藏一些底层配置细节。为编写脚本,它还提供了一个与平台无关的文本编辑器,而且它是Python系统中一个标准并免费的部分。

从另一面来说,如果你是一个有经验的程序员,你也许觉得这样的方式更惬意一些,简化成在一个窗口使用你选择的文本编辑器,在另一个窗口通过命令行或点击图标启动编写程序(事实上,这是作者如何开发Python程序,但是他有偏好UNIX的过去)。因为开发环境是很主观的选择,本书很难提供统一的标准。一般来说,你最喜欢使用的环境,往往就是最适合你用的环境。

调试Python代码

一般的,我们的读者或学生不会在他们的代码里包含Bug(在此置之一笑吧),但为了极少数可能遭遇不幸的朋友,这里快速介绍现实世界的Python程序员调试代码时候常用的一些策略:

·什么也不做。我这么讲,并不是说Python程序员不要调试自己的代码,但是,当你在一个Python程序中犯错的时候,会得到一条非常有用而容易读懂的出错消息(如果你已经有了一些错误的话,很快会见到这些消息)。如果你已经了解Python了,特别是如果你已经熟悉自己的代码了,那么,这么做通常就够了:阅读出错消息,并修改标记的行和文件。对于很多人来说,这就是Python中的调试。但是,对于你没有编写过的那些大型系统来说,这并不总是理想的做法。

·插入print语句。可能Python程序员调试自己的代码的主要方式(以及我调试Python代码的方式),就是插入print语句并再次运行。由于Python在修改后立即运行,这通常是获取比出错消息所提供的更多的信息的一种快捷方式。print语句不必很复杂,一条简单的"I am here"或变量值的显示,通常就能够提供你所需的足够的背景信息。只是别忘了,在发布你的代码之前,删除掉或注释掉(如,在前面添加一个#)用来调试的print。

·使用IDE GUI调试器。对于你没有编写过的较大的系统,以及对于那些想要更详细地跟踪代码的初学者,大多数Python开发GUI都有某种指向点击调试器。IDLE也有一个调试器,但是,它在实际中似乎并不常用,可能是因为它没有命令行,或者可能是因为添加print语句通常比设置一个GUI调试会话要快。要了解更多内容,请查阅IDLE的帮助,或者直接自己尝试;其基本界面如本章前面的“高级IDLE工具”部分所述。其他的IDE,如Eclipse、NetBeans、Komodo和WingIDE也都提供了高级的指向点击调试器,如果你使用这些IDE,请查阅它们的文档。

·使用pdb命令行调试器。为了实现最终控制,Python附带了一个名为pdb的源代码调试器,可以作为Python的标准库中的一个模块使用。在pdb中,我们输入命令来一行一行地步进执行,显示变量,设置和清除断点,继续执行到一个断点或错误,等等。通过导入可以交互地启动pdb,或者作为一个顶层脚本启动。不管哪种方式,由于我们可以输入命令来控制会话,它都提供了强大的调试工具。pdb还包含了一个postmortem函数,可以在异常发生后执行它,从而获取发生错误时的信息。参见Python的库手册以及本书第35章了解关于pdb的更多细节。

·其他选项。如果有更具体的调试需求,你可以在开源领域找到其他的工具,包括支持多线程程序、嵌入式代码和进程附件的工具。例如,Winpdb系统是一个独立的调试器,具有高级的调试支持、跨平台的GUI和控制台界面。

随着我们开始编写较大的脚本,这些选项将变得更加重要。然而,可能关于调试最好的消息是,在Python中检测出并报告错误,而不是默默地传递错误或最总导致系统崩溃。实际上,错误本身是一种定义良好的机制,叫做异常,我们可以捕获并处理它们(更多关于异常的讨论在本书第三部分进行)。当然,犯错并不好玩,但是,正如某人所说的:当进行调试意味着最终得出一个十六进制计算器和仔细钻研成堆的内存转储输出的时候,有了Python的调试器支持,所犯的错误不会像没有调试器的情况下那样令人痛苦不堪。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文