以下摘录自《Think Python》第六章:有返回值的函数中的调试一节。详见:http://www.codingpy.com/books/thinkpython2/06-fruitful-functions.html#factdebug
将一个大程序分解为较小的函数为调试生成了自然的检查点。 如果一个函数不如预期的运行,有三个可能性需要考虑:
- 该函数获得的实参有些问题,违反先决条件。
- 该函数有些问题,违反后置条件。
- 返回值或者它的使用方法有问题。
为了排除第一种可能,你可以在函数的开始增加一条 print
语句来打印形参的值(也可以是它们的类型)。 或者你可以写代码来显示地检查先决条件。
如果形参看起来没问题,就在每个 return
语句之前增加一条 print
语句,来打印返回值。 如果可能,手工检查结果。 考虑用一些容易检查的值来调用该函数(类似在增量式开发 一节中那样)。
如果该函数看起来正常工作,则检查函数调用,确保返回值被正确的使用(或者的确被使用了!)。
在一个函数的开始和结尾处增加打印语句,可以使执行流程更明显。
网友评论