Notebook Cell 执行——逐单元运行代码与查看结果
Cell 的概念
Notebook 由一个个 Cell 组成。每个 Cell 是一个独立的单元,类型可以是:
- Code Cell(代码单元):包含可执行的 Python 代码,执行后会显示输出结果
- Markdown Cell(说明单元):包含 Markdown 格式的说明文字,不执行代码
- Raw Cell(原始单元):纯文本,不做任何处理(少见)
一个典型的 Notebook 会这样组织 Cell:
[Markdown] # 数据分析示例
[Code] import numpy as np
[Code] data = np.random.randn(100)
[Code] data.mean() ← 执行后显示输出
[Markdown] 上面这行计算了平均值
代码 Cell 的执行
执行单个 Cell
点击 Cell 左侧或底部的执行按钮(通常是三角形播放图标),当前 Cell 的代码会被执行,输出直接显示在 Cell 下方。这和 REPL 终端的「输入一行执行一行」类似,但更结构化。
执行顺序
Notebook 的代码 Cell 按你手动点击执行的顺序运行,不是从上到下自动依次运行。这意味着你可以:
- 先执行第 3 个 Cell(定义变量),再回到第 1 个 Cell(使用该变量)
- 反复执行同一个 Cell 来更新变量值
- 跳过某些 Cell 不执行
QNotebook 在每个 Cell 旁边显示一个数字标记(如 In [1]、In [2]),表示执行的先后顺序。
一次执行全部
部分版本的 QNotebook 提供「Run All」按钮,可以从上到下依次执行所有 Cell。适合一次性跑完整个 Notebook。
停止执行
如果某个 Cell 卡死或运行时间太长,可以点击停止按钮中断执行。已执行完的 Cell 不受影响。
Markdown Cell 的编辑和渲染
Markdown Cell 双击进入编辑模式,可以输入 Markdown 格式的文字(支持 # 标题、**加粗**、- 列表、[链接](url) 等)。输入完成后点击执行按钮(或点击外部区域),Markdown 会被渲染成格式化的文档显示出来。
支持的 Markdown 语法(取决于 QNotebook 版本):
# ## ### ####标题层级**加粗**、*斜体*、~~删除线~~-无序列表、1.有序列表>引用块- `
代码行内代码、``代码块`围栏代码 [文字](链接)超链接图片嵌入(部分版本支持)- 表格(部分版本支持)
Cell 间的变量共享
所有代码 Cell 共享同一个 Python 运行时。在一个 Cell 里定义的变量、导入的模块,其他 Cell 可以直接使用——只要那个定义 Cell 已经先执行过。
例如:
[Code Cell 1] (已执行)
import numpy as np
x = np.array([1, 2, 3])
[Code Cell 2] (未执行)
print(x.sum()) ← 只有 Cell 1 先执行了,这里才能用 x
这是 Notebook 最有价值的设计之一——可以把一个完整的数据处理流程拆成多步,逐步执行、逐步看结果、随时在中间插入检查代码。
错误处理
如果某个代码 Cell 执行时报错,错误信息会直接显示在 Cell 下方的输出区域,不会影响其他 Cell 的运行状态(只要它们已经执行过)。
常见错误:
- NameError:变量未定义——说明引用该变量的 Cell 还没执行,回头先执行定义变量的那个
- ImportError:模块没装——用 QPYPI 或终端
pip install先装好 - SyntaxError:代码语法错误——检查代码写对了
小结
Cell 是 Notebook 的基本操作单元。手动控制执行顺序这个设计让 Notebook 特别适合探索性编程——你可以试一行、看结果、改一行、再执行,整个过程保留在同一个文档里。对于移动端来说,这比 REPL 终端更结构化,也比 .py 文件更灵活。
继续看 Magic Command 了解 Notebook 中方便的内置命令,或者跳到 PIP 包管理了解 第三方库安装。