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代码片段,如下:
import pdb
if __name__ == "__main__":
a = 1
pdb.set_trace() #创建pdb代码片段
b = 2
c = a + b
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 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人