python五种调试或排错的方法
1、print,直接打印,比较简单而且粗暴
在代码中直接输入print+需要输出的结果,根据打印的内容判断即可
2、assert断言,很方便,测试人员常常在写自动化用例的时候用的比较多
如下,直接将预期结果和实际结果做判断
def true_code(): x = 3 y = 2 z = x + y assert(5==z), "z不等于5" def false_code(): x = 3 y = 3 z = x + y assert(5==z), "z不等于5" true_code() false_code()
运行结果如下:
3、pdb交互式源代码调试
常用命令:break或b 设置断点
continue或c 继续执行程序,或跳到下个断点
list或l 查看当前行的代码段
step或s 进入函数
return或r 执行代码知道从当前函数返回
exit或q 中止并退出
next或n 执行下一行
p或! 打印变量的值例如a为变量,则输入p a
help或h 帮助
在使用pdb时需要导入pdb库,然后在代码中需要的地方引入pdb代码片段,如下:
1 import pdb 2 3 if __name__ == "__main__": 4 a = 1 5 pdb.set_trace() #创建pdb代码片段 6 b = 2 7 c = a + b 8 print(c)
输入pdb命令,并且查看结果:
4、日志,定位问题记录程序运行情况
主要是引入logging库
logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,logging的日志可以分为
debug(), info(), warning(), error() and critical()
5个级别,根据需要选择不同的级别打印日志
5、IDE Debuger 图形界面便于数据查看,支持多线程调试,远程调试
主要是IDE中自带的debug调试
设置断点,运行时以debug模式运行,或这shift+F9运行
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY