python调试bug方法小总结
面向在python的bug调试的过程中不干练的学友的教学
一、了解常见的bug
对常见报错提示需要读懂并理解,因为会经常遇到。
参考https://www.cnblogs.com/smilelin/p/11451581.html
二、学会看报错信息
例如:
- 报错的首部和尾部会有致命错误的类型
- 最后一行的“xxError:”后买你说出错误的描述
- ----->后面会有报错行数的提示
三、学会看报错位置有多处的错误
例如:
当错误的位置有多处时,要知道错误抛出的顺序和程序执行的顺序是一致的,即先抛出上层的–>
(报错行数)再抛出下层的–>(报错行数),
所以在定位错误的具体行数时需要辨认处到底是哪一处错了,辨认方法:
- 一般不考虑第三方库的错误,除非自己的代码真的没问题。
- 使用print()打印进行调试,type()确认数据类型。
- 在使用第三方库的某个函数时候出错了,了解下第三方库的那个函数(在ipython复现错误、help(module.method)一下、搜索下)。
- 结合报错的提示信息,从自己的代码中找出你认为最可能错误的一行。截图最后的错误处在339行,错因是xxx但错误来源是json.loads(a)自己写的这一行。
- 还无法解决时,以图中的bug为例,搜索 json.loads(a) + 错误描述 或 错误描述 或 json.loads(a)去了解他的用法(用ipython实践,复现错误,找到错误的原因)
- 以图中的bug为例,搜索后,看别人的解答时要看别人对问题的描述和你的相符,再看关键词(json.loads(a) 、错误描述)是否和你相同,再细看。
四、打好python基础
使用交互式环境例如ipython通过反复实践验证自己的思路。