终端与调试
这是什么:集成终端 = 编辑器底部自带的命令行(Ctrl+` 呼出);调试器 = 给代码打断点、逐行执行、实时看每个变量的值。
为什么用:没有它们,你要在编辑器和系统命令行之间来回切换,查错只能「猜哪错了 → 加一行 print → 再跑一遍」。断点调试让你亲眼看着程序一步步走,变量在哪一步变了值一目了然。
如何用:先练终端(跑 Python 的主入口),再用 5 个调试键位把一段会出错的代码查明白。
集成终端:一个窗口全包
按 Ctrl+`(Esc 下面那个键,macOS 相同)呼出底部面板的终端标签:
(.venv) PS E:\playground> python hello.py
hello
它就是系统终端长在编辑器里,自动定位到当前项目文件夹,venv 激活状态也会显示。常用操作:
| 操作 | 快捷键 / 做法 |
|---|---|
| 呼出/隐藏终端 | Ctrl+` |
| 新开一个终端 | 面板右上角 +(比如一个跑服务、一个敲命令) |
| 清屏 | 输 cls(Windows)/ clear(macOS/Linux) |
| 运行当前文件 | 右上角 ▶ 按钮,或终端里 python 文件名 |
点编辑器右上角的 ▶(Run Python File)本质就是在集成终端里替你执行 python 当前文件——和手敲是一回事。
断点调试:让程序慢下来
先写一段「有故事」的代码 debug_demo.py:
def total_price(price, count):
total = price * count
discount = 0.9
total = total * discount # 打个断点在这行左侧
return total
print(total_price(10, 3))
打断点:在第 4 行(total = total * discount)行号左边点一下,出现红点。
开始调试:按 F5(首次会让你选调试器,选 Python Debugger,再选 Python File)。
程序跑到断点就停住了——注意:这时第 4 行还没执行。切换视角:
- 左侧面板(运行和调试):局部变量区实时列出
price=10, count=3, total=30, discount=0.9 - 编辑器内联提示:每行代码后面直接灰字标着各变量的当前值
五个调试键位(顶部工具条 + F5 区域):
| 键 | 名字 | 作用 |
|---|---|---|
F5 |
继续 | 跑到下一个断点或结束 |
F10 |
单步跳过 | 执行当前行,停到下一行(不进函数内部) |
F11 |
单步进入 | 钻进当前调用的函数里逐行走 |
Shift+F5 |
停止 | 结束调试 |
Ctrl+Shift+F5 |
重启 | 改完代码重新调 |
按一次 F10:第 4 行执行,变量区里 total 从 30 变成 27.0——数据变化的全过程亲眼可见,这就是调试比 print 强的地方:不用改代码,随时看任何变量。
调试实战:查一个经典 bug
def average(nums):
total = 0
for n in nums:
total = total + n
return total / len(nums)
print(average([])) # 报 ZeroDivisionError
直接运行报 ZeroDivisionError: division by zero。调试思路:F5 启动(直接把异常断点用上:调试面板勾选「引发的异常」处暂停,或先在 return 行打断点)→ 停下后看变量:nums=[]、len(nums)=0 → 答案揭晓:空列表除以零。修复:进函数先判空或调用前保证非空。
这就是调试的标准循环:打断点 → 看变量 → 定位那一步不对 → 修。比加十行 print 快得多,也不污染代码。
记忆口诀:反引号里终端开,▶ 按钮替你带;F5 停在红点处,F10 单步看变量改。
❓ 常见问题
Q1:按 F5 提示选择调试器 / 没有 Python 选项?
Python 插件没装或没识别。修复三步:① 装 Python 插件;② Ctrl+Shift+P → Python: Select Interpreter 选对解释器;③ 再按 F5 选 Python Debugger。
Q2:断点是空心圆圈,程序没停?
空心 = 断点未生效。两种常见原因:① 代码改动后没保存(断点挂在旧版本上),Ctrl+S 后红点变实心;② 打错文件了——确认红点在这次运行的那个文件里。
Q3:终端里 (.venv) 没了 / 用错了 Python?
新开的终端有时不带激活状态。修复:Ctrl+Shift+P → Python: Select Interpreter 选 venv,之后 ▶ 运行和调试都会用它;或终端里手动激活(venv 教程的激活命令)。
📝 本章小结
Ctrl+`呼出集成终端,▶ 按钮等效python 当前文件- 断点:行号左侧一点红;
F5启动调试,程序停在断点前 - 五键:
F5继续、F10跳过、F11进入、Shift+F5停、Ctrl+Shift+F5重启 - 调试循环:断点 → 看变量区 → 定位出错的那一步,比 print 快且不脏代码
动手改
- 给
debug_demo.py打断点,用F10走完全程,盯住total的变化 - 把断点打在
return total行,用「调试控制台」输入total / 2现场算个值(调试时能执行任意表达式) - 调试查
average空列表 bug:先猜答案,再用变量区验证