Python Debug调试技巧

本文介绍了Python调试的几种方法,包括使用print()、assert和断点调试。强调了PyCharm中设置断点、调试步骤及快捷键的使用,如F10、F7、F8等,帮助开发者更高效地定位和解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

——————·今天是2020年的第14天·——————

这是ITester软件测试小栈第89次推文

Debug 对于任何coding人士都是一项非常重要的技能,它能够帮助我们准确的定位错误,发现程序中的 bug。有时候通过程序运行时的报错可以很容易的找到出错的位置,但是有时候必须得通过调试程序才能找出我们的错误,以下介绍一些debug调试技巧。

方法一

利用print()

通过print()将可能有问题的变量打印出来。

def fun(s):
    n = int(s)
    print(' n = %d' % n)
    return 100 / n


def main():
    fun('0')


main()

缺点:调试完后程序里到处都是print(),用完得删掉它,否则运行结果会包含很多垃圾信息。

方法二

利用断言

凡是可以用print()来辅助查看的地方,都可以用断言(assert)来替代,如果断言失败,assert语句本身就会抛出AssertionError。

def fun(s):
    n = int(s)
    #assert意味,表达式n != 0应该是True,否则,根据程序运行的逻辑,后面的代码肯定会出错
    #如果断言失败,assert语句本身就会抛出AssertionError
    assert n!=0,'n is zero!'
    return 100 / n


def main():
    fun('0')


main()

缺点:程序中如果到处充斥着assert,和print()相比也好不到哪去。这时,启动Python解释器时可以用-O参数来关闭assert

方法三

打断点

1.添加断点:直接在标记处点击鼠标左键。取消断点时,在同一个位置此点击即可。如果断点所在行代码变蓝,表示,断点已经处于该行代码,但是并未执行。

2.利用Debug运行代码(点击七星瓢虫图标或者通过“运行->调试”),快捷键:alt+shift+F9

3.根据所需进行代码调试,此时,在pycharm 主页面的下方窗口出现2个选项(Debugger 、Console)&#x

回答: Pythondebug技巧有很多种,以下是一些常用的技巧: 1. 使用print语句: 在代码中插入print语句,输出变量的值,以便观察程序执行过程中的变化。这是最简单直接的debug方法。 2. 使用断点: 在代码中设置断点,可以在程序执行到断点处时停下来,以便检查变量的值和程序的执行流程。可以使用pdb模块或者在集成开发环境(IDE)中设置断点。 3. 使用日志: 在代码中插入日志语句,记录程序执行过程中的关键信息,以便后续分析。可以使用Python内置的logging模块来实现。 4. 使用调试器: Python提供了多个调试器工具,如pdb、ipdb、pudb等。这些工具可以在程序执行过程中暂停,并提供交互式界面来检查变量的值和执行流程。 5. 使用IDE的调试功能: 许多集成开发环境(IDE)都提供了强大的调试功能,可以方便地设置断点、观察变量、单步执行等。常见的Python IDE有PyCharm、Visual Studio Code、Spyder等。 以上是一些常用的Python debug技巧,根据具体情况选择合适的方法来定位和解决问题。\[1\] #### 引用[.reference_title] - *1* [Python Debug调试技巧](https://blog.csdn.net/weixin_39936380/article/details/110323164)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [【Python + VScode】调试 debug 技巧,带参数文件和模块调试](https://blog.csdn.net/chenxf93/article/details/130789867)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [如何调试代码/python debug/vscode debug](https://blog.csdn.net/qq_43369406/article/details/127642308)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值