21、Python 编程中的错误调试指南

Python 编程中的错误调试指南

1. 运行时错误(Runtime Errors)

1.1 模块导入问题

当使用 import 读取模块时,如果修改了文件,需要重启解释器或使用 reload 来重新读取修改后的文件。若再次导入模块,可能不会有任何效果。

1.2 程序不执行

如果文件仅包含函数和类,但没有实际调用任何内容来启动执行,程序可能不会有任何反应。若这不是有意为之,需确保调用了一个函数来启动执行,或者在交互式提示符下执行一个函数。

1.3 程序挂起

程序停止且似乎没有任何反应,可能是陷入了无限循环或无限递归。可按以下步骤排查:
1. 若怀疑某个特定的循环有问题,在循环前添加 print 语句 “entering the loop”,在循环后添加 “exiting the loop”。运行程序,若只看到第一条消息而没有第二条,说明存在无限循环。
2. 大多数情况下,无限递归会使程序运行一段时间后产生 “RuntimeError: Maximum recursion depth exceeded” 错误。若出现此错误,需检查函数或方法是否有基本情况(base case),即是否存在某个条件能使函数或方法不进行递归调用而返回。
3. 若未出现上述错误,但怀疑递归方法或函数有问题,仍可使用检查基本情况的方法。
4. 若以上步骤都无效,开始测试其他循环和递归函数、方法。
5. 若还是无法解决,可能是对程序的执行流程不理解。

1.3.1 无限循环
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值