Jupyter Notebook 的核心功能单位是 Cell (单元格)。它就像一个灵活的容器,能容纳从可执行的代码到格式丰富的文本等多种内容,可以将其视为一个强大的电子笔记本。我们可以通过以下表格快速了解几种主要单元格类型:

| 类型 | 主要用途 | 执行效果与说明 |
|---|---|---|
| 💻 代码 | 编写和执行代码 (默认类型) | 执行并显示代码输出,可运行 python、R、bash 等。 |
| 📝 Markdown | 撰写格式丰富的文本 | 执行后渲染,支持标题、列表、表格、图片、视频、数学公式等。 |
| 📄 Raw NBConvert | 存放不被执行的原始文本 | 执行时不会产生输出,在转换为其他格式 (如 LaTeX) 时会被原样保留。 |
⌨️ 核心操作
Jupyter Notebook 有两种核心操作模式,配合快捷键可以极大提升效率:
- 命令模式 (按
Esc进入) :单元格边框为蓝色,用于操作单元格本身。 - 编辑模式 (按
Enter进入) :单元格边框为绿色,用于编辑单元格内的内容。
⌨️ 高效快捷键
| 操作分类 | 快捷键 | 作用说明 |
|---|---|---|
| 🟦 命令模式 | ||
| 执行 & 移动 | Shift + Enter |
运行当前单元格,并选中下一个。 |
| 执行 & 插入 | Alt + Enter |
运行当前单元格,并在下方插入新单元格。 |
| 插入单元格 | A / B |
在当前单元格上方 (Above) / 下方 (Below) 插入新单元格。 |
| 删除单元格 | D D |
连续按两次 D 键,删除当前单元格。 |
| 类型转换 | Y / M |
将当前单元格转换为代码 (Code) 或 Markdown 类型。 |
| 合并单元格 | Shift + M |
合并选中的多个单元格。 |
| 显示帮助 | H |
弹出所有快捷键的快速参考。 |
| 🟩 编辑模式 | ||
| 执行 & 移动 | Shift + Enter |
运行当前单元格,并选中下一个。 |
| 执行 & 插入 | Alt + Enter |
运行当前单元格,并在下方插入新单元格。 |
| 代码补全 | Tab |
自动补全变量名或函数名。 |
| 函数提示 | Shift + Tab |
显示函数或对象的文档字符串 (Docstring)。 |
| 分割单元格 | Ctrl + Shift + - |
从光标位置将当前单元格一分为二。 |
🧙 魔法命令
魔法命令 (Magic Commands) 是 Jupyter 提供的一组以 % 或 %% 开头的特殊命令,用于增强和扩展 Notebook 的功能。它们是 Jupyter 区别于普通 Python 脚本的重要功能。
常用行魔法 (以 % 开头)
%timeit:多次运行单行代码,并给出平均执行时间,用于性能评估。%run:在 Notebook 中运行外部的.py脚本文件。%load:将外部脚本或示例代码的内容加载到当前单元格中。%who / %whos:列出当前交互环境中定义的所有变量及其信息。%debug:在上一个异常处激活交互式调试器,方便排查问题。%pwd / %ls / %cd:用于查看、列出和切换当前工作目录的 Shell 命令。%env:列出当前系统所有的环境变量。%matplotlib inline:设置 Matplotlib 绘图库,使其图表直接嵌入在 Notebook 中显示。%lsmagic:列出当前环境中所有可用的魔法命令。
常用单元魔法 (以 %% 开头)
%%timeit:运行整个单元格中的代码块,并测量其平均执行时间。%%writefile:将单元格的全部内容写入到指定文件名的外部文件中。%%bash:将单元格中的所有内容作为 Bash Shell 脚本执行。%%html:将单元格中的内容渲染为 HTML 代码,并在输出区域显示。%%javascript:执行单元格内的 JavaScript 代码,常用于网页交互。%%latex:将单元格中的内容渲染为 LaTeX 数学公式。%%capture:捕获并隐藏单元格的标准输出和标准错误,便于调试。%%script:允许你使用任何系统上已安装的解释器(如ruby,perl,R)来运行当前单元格的内容。
🖥️ 执行 Shell 命令
你可以在代码单元格中,通过在前面加上感叹号 ! 来直接执行 Shell 命令。例如:
- 使用
!ls -l列出当前目录下的文件。 - 使用
!pip install numpy在 Notebook 中直接安装 Python 包。
📋 丰富的媒体内容
Jupyter 支持在 Markdown 单元格 或 代码单元格的输出 中插入丰富的媒体内容。
- Markdown 单元格 :支持标准 Markdown 语法,可以方便地插入图片、表格、列表等。
- 插入图片 :
。 - 插入视频 :粘贴支持的视频链接,或在 Markdown 单元格中编写
<video>标签。 - 数学公式 :使用 LaTeX 语法,例如
$E = mc^2$生成行内公式,或$$E = mc^2$$生成独立的公式块。
- 插入图片 :
- 代码单元格的输出 :利用
IPython.display模块,可以创建更高级的富文本输出。- 插入图片 :
from IPython.display import Image; Image("图片的URL")。 - 嵌入视频 :
from IPython.display import YouTubeVideo; YouTubeVideo("视频ID")。 - 显示HTML :
from IPython.display import HTML; HTML("<h1>Hello World!</h1>")。 - 显示JSON :
from IPython.display import JSON; JSON({"key": "value"})。
- 插入图片 :
💡 小贴士
- 查看帮助 :在任何魔法命令后加
?可查看详细帮助,例如%timeit?。同时,%quickref命令可快速查看常用魔法命令的参考。 - 获取环境信息 :使用
%lsmagic可以列出当前环境中所有可用的魔法命令,避免因环境差异导致命令找不到的情况。 - 变量交互 :Shell 命令中可以通过
{variable_name}的形式引用 Python 变量。例如:dir_name = "data"; !mkdir -p {dir_name}。