python五种调试或排错的方法

枫铃3年前 (2021-07-23)Python288

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代码片段,如下:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
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运行

相关文章

python程序将其重复M个字符N次

给定一个字符串ÿ...

5分钟了解 Python 中的super函数是如何实现继承的

Py 2.x 和 Py 3.x 中有一个很大的区别就是类,无论是类的定义还是类的继承。Py 3.x 中类的继承可以直接使用 super() 关键...

python三目运算和递归的小练习

应用前: ''' 递归的简单实现,输出i = 5的时候的结果 遇到问题没人解答?小编创建了一个P...

django批量form表单处理

django批量form表单处理

1.应用说明 一般在表单信息录入中,如果存在许多重复提交的信息,我们就需要进行批量处理,比如学生信息的批量录入。...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。