调试和运行 Python 案例(无论是单个脚本还是项目)有很多方法,我为你梳理了从最简单到最专业的几种方式,你可以根据你的环境和场景来选择。

最快速的方式:直接运行(无需调试)
如果你是初学者,或者只是查看代码运行结果,用这几种方式最快:
-
使用终端/命令提示符 (最通用)
- 打开终端(Mac/Linux)或命令提示符(Windows)。
- 导航到
.py文件所在的目录。 - 输入
python 你的文件名.py并按回车。# python example.py
如果你的电脑同时安装了 Python 2 和 3,可能需要用
python3 example.py
-
使用IDE(集成开发环境)的“运行”按钮 (最方便)
- VS Code: 打开
.py文件,点击右上角的三角形 ▶️ 运行 按钮。 - PyCharm: 在代码编辑区右键,选择 Run '文件名'。
- IDLE (Python自带): 按 F5 键。
- VS Code: 打开
核心调试方法:让代码“停下来”检查
调试的核心是设置断点(让程序在指定行暂停),然后一步步观察变量值。
方法 1:使用 IDE 的图形化调试器(强烈推荐,最直观)
以 VS Code 为例:
- 设置断点: 在代码行号左侧点击,会出现一个红点。
- 启动调试:
- 点击左侧的 甲虫/三角形 ▶️ 图标 (运行和调试)。
- 点击顶部的 甲虫/三角形 ▶️ 绿色按钮 或按 F5。
- 控制程序执行(顶部会出现浮动工具栏):
- 继续 (F5): 直接运行到下一个断点。
- 单步跳过 (F10): 一行一行执行代码,不会进入函数内部。
- 单步调试 (F11): 如果当前行是一个函数调用,会跳进该函数内部。
- 单步跳出 (Shift+F11): 跳出当前函数,返回到调用它的地方。
- 重启 (Ctrl+Shift+F5): 重新开始调试。
- 停止 (Shift+F5): 结束调试。
- 查看变量: 调试时,左侧的 变量 (VARIABLES) 面板会自动显示当前所有变量的值,你也可以把鼠标悬停在代码变量上查看。
以 PyCharm 为例: 流程基本一致:单击行号设置断点 -> 右键选择 Debug -> 使用 F8 (Step Over) / F7 (Step Into) 等按钮。
方法 2:使用 breakpoint() (Python 3.7+ 内置函数,无需IDE)
这是官方推荐的最简单的“插入断点”方式,适用于任何环境(终端也支持)。
-
在代码中你想暂停的地方,插入一行
breakpoint()。def calculate(num): result = num * 2 breakpoint() # 程序运行到这里会自动暂停 result = result + 1 return result print(calculate(5)) -
运行脚本:
python 你的文件.py -
程序会在
breakpoint()处暂停,进入交互式调试界面 (pdb)。 -
在终端里输入命令来控制:
c-> 继续运行 (continue)n-> 执行下一行 (next)s-> 进入函数内部 (step)q-> 退出调试 (quit)- 直接输入变量名 -> 打印该变量的值。
方法 3:使用 pdb 模块 (传统方式,理解原理)
这个方法更底层,相当于手动启动调试器。
- 在终端运行:
python -m pdb 你的文件.py
- 程序会从一开始就进入调试状态。
- 常用命令同上:
c,n,s,q,p 变量名(print)。
针对不同“案例”的调试技巧
-
运行报错 (Traceback)
- 看最后一行:错误类型(如
ZeroDivisionError)和具体描述(division by zero)。 - 看最后几行:
File "xxx.py", line 10, in <module>告诉了出错的文件和行号,从那里开始设置断点调试。
- 看最后一行:错误类型(如
-
结果不对(逻辑错误)
- 暴力检查法:在关键计算前后加上
print(f"变量名: {变量名}"),这是最常用但稍显原始的方法。 - 断点+检查法:在关键计算前设置断点,然后单步执行(F10/F11),一边走一边看变量面板的值是否符合预期。
- 暴力检查法:在关键计算前后加上
-
案例包含多个文件(模块/包)
- VS Code: 确保你打开的是项目文件夹(而非单个文件),在
.py文件中按 F5,调试器会自动识别入口文件。 - PyCharm: 标准操作,新建项目 - 导入文件 - 右键 Debug。
- VS Code: 确保你打开的是项目文件夹(而非单个文件),在
常见问题与解决
-
Q: 为什么我的代码在IDE里能运行,在终端里不行?
- A: 可能是环境变量或Python解释器不同,在IDE里检查你用的解释器路径,在终端里用
which python或where python确认用的是同一个。
- A: 可能是环境变量或Python解释器不同,在IDE里检查你用的解释器路径,在终端里用
-
Q: 为什么断点没停?
- A1: 你可能没有以调试模式运行,而是以“运行”模式,请点击那个甲虫图标或按 F5。
- A2: 你的代码在被调试之前就已经报错退出了。
- A3: 你修改了代码但没有保存,在VS Code里会自动保存,但很多IDE需要手动 Ctrl+S。
-
Q: 调试时变量值看不太懂?
- A: 可以在监视 (WATCH) 面板里添加表达式,
len(my_list)或my_dict.keys()。
- A: 可以在监视 (WATCH) 面板里添加表达式,
总结建议
- 如果你是初学者:从 VS Code 或 PyCharm 的图形化调试器开始。F10 (单步跳过) 和 F11 (单步调试) 的区别。
- 如果你在终端上课/做题:学会用
breakpoint()函数,这是最简单有效的“终端断点”方式。 - 如果你只想快速看结果:直接用 终端运行 或 IDE的运行按钮。
掌握了这些方法,无论遇到什么 Python 案例,你都能有步骤地找到问题所在,祝你调试顺利!