分享几个我常用的 Python 调试技巧在日常 Python 开发中调试占据了我们很大一部分时间。很多人遇到 Bug 第一反应就是加 print但每次改代码、重新运行效率很低。今天分享几个我实际项目中常用的调试技巧希望能帮到你。1. 善用 breakpoint() 代替 print从 Python 3.7 开始内置的 breakpoint() 函数可以直接启动 pdb 调试器。相比 print 大法它的好处是不需要预先知道问题在哪可以随时暂停观察变量支持继续执行、单步跟踪用法很简单在代码的任何位置插入def process_data(items): breakpoint() # 执行到这里会自动进入调试模式 for item in items: print(item)运行后会自动进入 (Pdb) 交互模式输入变量名查看当前值输入 c 继续执行输入 n 跳到下一行输入 s 进入函数内部。比来回加 print 优雅太多了。2. 使用 rich 让调试输出更清晰标准 print 输出的复杂数据结构很难看。推荐安装 rich 库pip install rich然后用它来格式化输出from rich import print from rich.pretty import pprint data {users: [{name: Alice, scores: [85, 92, 88]}]} pprint(data, indent_guidesTrue)rich 会对字典、列表做语法高亮和缩进对齐一眼就能看出结构问题。配合 inspect() 函数还能快速查看对象的属性和方法。3. 用 traceback 模块定位异常来源有时候异常信息不够详细不知道具体是哪行代码出的问题。试试用 traceback 模块打印完整调用栈import traceback try: result risky_function() except Exception: traceback.print_exc() # 打印完整的异常堆栈更高级的用法是 format_exc()可以把堆栈字符串保存到日志文件里方便回头查看。4. 小技巧用 dir() 和 help() 快速查 API调试时经常遇到「这个对象有哪些方法」的问题。与其去翻文档不如直接在调试器里用dir(obj) # 返回对象所有属性和方法 help(obj.method) # 查看方法的详细文档这两个内置函数在 breakpoint() 调试模式下特别好用不用离开编辑器环境就能查清楚 API 细节。5. 用 __repr__ 让自定义对象可直接调试定义一个类时实现 __repr__ 方法能让调试输出变得更友好class User: def __init__(self, name, age): self.name name self.age age def __repr__(self): return fUser(name{self.name!r}, age{self.age}) user User(张三, 28) print(user) # 输出User(name张三, age28)这样在调试时看到对象就能直接了解它的状态不用一个个去查属性值。总结以上就是我日常开发中经常用到的五个调试技巧。从断点调试到输出美化从异常定位到对象展示每个都能在实际工作中提升效率。如果你也有好用的调试方法欢迎在评论区分享交流。