Python初学者的Debug困境:看不懂报错信息怎么办?
欢迎访问Python3分钟系列。花3分钟时间,学习或温习一个Python知识点。
Python作为一门广泛应用于科学计算、数据分析、人工智能等领域的编程语言,Python在编程语言中也是非常受欢迎。
然而,对于刚刚入门的Python小白来说,当代码出现错误时,常常会被晦涩难懂的报错信息所困扰,不知如何下手解决。
今天我将带领“新/老同学”介绍一种解决这一问题的工具——friendly模块,并举例说明如何使用它来更轻松地进行Python代码的调试。
当代码运行时出现错误
示例代码:
def get_last(seq):
last_index = len(seq)
return seq[last_index]
print(get_last([1, 2, 3]))
运行之后发生错误:
Traceback (most recent call last):
File "d:\code\python\demo", line 54, in <module>
print(get_last([1, 2, 3]))
File "d:\code\python\demo", line 52, in get_last
return seq[last_index]
IndexError: list index out of range
Python3.10已经能很好的提示错误原因和错误点,但3.9及之前的版本的会晦涩点。
Traceback (most recent call last):
File "d:\code\python\demo.py", line 54, in <module>
print(get_last([1, 2, 3]))
^^^^^^^^^^^^^^^^^^^
File "d:\code\python\demo.py", line 52, in get_last
return seq[last_index]
~~~^^^^^^^^^^^^
IndexError: list index out of range
就算这样,对初学者来说并不是特别友好……
要是能告诉初学者如何进行修改,那就更好了!
使用friendly_traceback模块解决报错
使用下方命令安装friendly
模块:
pip install friendly
使用friendly命令:
python -m friendly [python代码文件] -f light
或
friendly [python代码文件]
将上文的代码保存后,使用以下命令进行debug:
python -m friendly demo.py -f light
得到debug error
信息:
不仅显示了原始的报错信息,还贴心地加上了如何去修改这段代码的意见:
翻译成中文:
注意:列表的第一个元素不是索引1,而是索引0。
IndexError(索引错误)发生在您尝试从列表、元组或类似的对象(序列)中获取元素,并使用不存在的索引时;通常是因为您给出的索引大于序列的长度。
您尝试获取长度为3的列表seq的索引为3的元素。seq的有效索引值是从-3到2的整数。
再试一个
代码文件:
x = 4/0
print(x)
使用friendly命令debug:
翻译成中文:
ZeroDivisionError 当您试图直接或使用其他数学运算将一个值除以零时发生。
你除以零。
最后
看完上文的“贴心提示”大家觉得friendly
模块friendly吗?
Python经验分享
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
Python学习路线
这里把Python常用的技术点做了整理,有各个领域的知识点汇总,可以按照上面的知识点找对应的学习资源。
学习软件
Python常用的开发软件,会给大家节省很多时间。
学习视频
编程学习一定要多多看视频,书籍和视频结合起来学习才能事半功倍。
100道练习题
实战案例
光学理论是没用的,学习编程切忌纸上谈兵,一定要动手实操,将自己学到的知识运用到实际当中。
最后祝大家天天进步!!
上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。