美文网首页
Think Python—调试 11

Think Python—调试 11

作者: JeetChan | 来源:发表于2019-02-02 18:57 被阅读0次

以下摘录自《Think Python》第十一章:字典中的调试一节。详见:http://www.codingpy.com/books/thinkpython2/11-dictionaries.html#id9

当你操作较大的数据集时,通过打印并手工检查数据来调试很不方便。 下面是针对调试大数据集的一些建议:

缩小输入:

如果可能,减小数据集合的大小。 例如,如果程序读入一个文本文件,从前10行开始分析,或是找到更小的样例。 你可以选择编辑读入的文件,或是(最好)修改程序使它只读入前 n 行。

如果出错了,你可以将 n 缩小为会导致该错误的最小值,然后在查找和解决错误的同时,逐步增加 n 的值。

检查摘要和类型:

考虑打印数据的摘要,而不是打印并检查全部数据集合: 例如,字典中项的数目或者数字列表的总和。

运行时错误的一个常见原因,是值的类型不正确。 为了调试此类错误,打印值的类型通常就足够了。

编写自检代码:

有时你可以写代码来自动检查错误。 例如,如果你正在计算数字列表的平均数,你可以检查其结果是不是大于列表中最大的元素,或者小于最小的元素。 这被称 作“合理性检查”,因为它能检测出“不合理的”结果。

另一类检查是比较两个不同计算的结果,来看一下它们是否一致。这被称作“一致性检查”。

格式化输出:

格式化调试输出能够更容易定位一个错误。 我们在调试一节中看过一个示例。pprint 模块提供了一个 pprint 函数,它可以更可读的格式显示内建类型( pprint 代表 “pretty print”)。

重申一次,你花在搭建脚手架上的时间能减少你花在调试上的时间。

相关文章

  • Think Python—调试 11

    以下摘录自《Think Python》第十一章:字典中的调试一节。详见:http://www.codingpy.c...

  • Think Python—调试

      以下摘录自《Think Python》第三章:函数中的调试一节。   调试,是你能获得的最重要的技能之一。 虽...

  • Think Python—调试 7

    以下摘录自《Think Python》第七章:迭代中的调试一节。详见:http://www.codingpy.co...

  • Think Python—调试 6

    以下摘录自《Think Python》第六章:有返回值的函数中的调试一节。详见:http://www.coding...

  • 参考资料:Python 的调试

    Python 代码调试技巧 我常用的 Python 调试工具 详细演示进入函数的 pdb s 调试 Python ...

  • 增量式开发

    以下摘录自《Think Python》。 随着你写的函数越来越大,你在调试上花的时候可能会越来越多。为了应对越来越...

  • Python数据结构基础入门-思维导图*3

    帮助我们更好的理解Python数据结构 案例出自《Think Python》

  • python调试

    linux python调试技巧 Linux下Python基础调试 http://blog.163.com/liu...

  • HBuilder Android真机调试

    关于调试 难者不会,会者不难。对于调试,这句话尤其合适。无论是前端调试、Java调试、PHP调试、Python调试...

  • 节省时间并提高 Python 开发人员的技能工具:Python

    Python 调试器 Python 标准库提供了一个名为 pdb 的调试器。此调试器提供了调试所需的大多数功能,如...

网友评论

      本文标题:Think Python—调试 11

      本文链接:https://www.haomeiwen.com/subject/mpclsqtx.html