ctrl+enter执行当前单元格且光标保持不变,适合调试或重跑当前步骤;shift+enter执行后跳转至下一单元格,适用于线性推进;右键“run cells”可精准批量执行多选单元格。

选中代码后按 Ctrl+Enter 会直接执行
这是最常用也最直接的方式。选中一个或多个单元格(cell)里的代码,按下 Ctrl+Enter(Windows/Linux)或 Cmd+Enter(macOS),Jupyter 就会立即运行这些单元格,不跳转、不新建单元格。适合快速验证某段逻辑,比如调试中间变量或重跑当前步骤。
注意:这个操作只影响被选中的单元格,不会自动运行后续依赖单元格——这点和 Shift+Enter 不同,后者执行完当前单元格还会自动跳到下一个。
用 Shift+Enter 执行并自动跳到下一单元格
如果你习惯线性推进分析流程,Shift+Enter 更顺手。它执行当前选中单元格后,光标自动落到下一个单元格(如果不存在则新建一个)。常用于写完一段代码立刻接着写后续逻辑的场景。
常见误区:Shift+Enter 只对「当前聚焦的单元格」生效,即使你用鼠标多选了几个单元格,它也只执行最上面那个——多选时想批量运行,必须用 Ctrl+Enter 或菜单操作。
右键菜单里选 “Run Cells” 最稳妥
当不确定键盘快捷键是否生效(比如某些远程环境或浏览器插件冲突),或者需要明确控制执行范围时,右键点击任意选中的单元格,从上下文菜单里选择 Run Cells。它严格按你鼠标框选/按住 Shift 或 Ctrl 多选的范围来执行,行为可预测,适合协作或教学场景。
- 多选时按住
Ctrl(Windows/Linux)或Cmd(macOS)点选非连续单元格 - 按住
Shift点击可选中连续区间 - 执行前留意状态栏左下角是否显示 “Executing…” —— 避免误以为卡住而重复触发
别忽略 Kernel 状态和输出刷新问题
有时候代码明明执行了,但没看到输出,大概率是 Kernel 没响应或输出被缓存。先看右上角 Kernel 名称旁的圆点:实心灰色表示空闲,实心绿色表示正在运行,空心圆点说明 Kernel 已断开。
遇到无输出时,优先检查:
- Kernel 是否还在运行?尝试在空白单元格输入
1+1并Ctrl+Enter测试 - 单元格末尾是否有显式
print()或表达式?纯赋值语句(如a = 5)默认不打印 - 是否用了
matplotlib但忘了加%matplotlib inline?图像不会自动显示 - 输出区域是否被滚动条遮挡?拖动右侧滚动条确认
真正麻烦的是 Kernel 假死——看着在运行,其实卡在某个阻塞调用里。这时候得手动点击菜单栏 Kernel → Interrupt,而不是反复按快捷键。











