文档
Jupyter 交互式开发入门教程
第一章:Notebook 结构
Jupyter Notebook 由 Cell 序列组成,两种核心类型:
- Code Cell:包含可执行代码。Shift+Enter 执行,输出直接显示在 Cell 下方
- Markdown Cell:包含格式化文档。支持标题、列表、链接、图片、LaTeX 数学公式
内核(Kernel)
每个 Notebook 连接一个内核进程,它维护代码执行后的全部变量。重启内核 = 清空所有变量。
第二章:JupyterLab vs 经典 Notebook
| 特性 | JupyterLab | 经典 Notebook |
|---|---|---|
| 界面 | IDE 风格,多标签 | 单页面 |
| 终端 | 内置 | 无 |
| 文件管理 | 侧边栏拖放 | 简单文件列表 |
| 扩展系统 | 丰富 | 有限 |
| 适用场景 | 日常开发 | 快速笔记 |
推荐:新用户直接用 JupyterLab。
第三章:魔术命令全解
魔术命令以 %(行魔术)或 %%(Cell 魔术)开头:
# 性能分析
%timeit sum(range(100000))
%prun some_function()
# 环境管理
%env PATH
%pwd # 当前工作目录
%cd /path
# 外部代码
%load myscript.py # 加载文件到 Cell
%run myscript.py # 运行 Python 文件
%%writefile output.py # 将 Cell 内容写入文件
# 显示
%matplotlib widget # 交互式图表
%config InlineBackend.figure_format = 'svg' # 高清图
第四章:分享与导出
# 导出为多种格式
jupyter nbconvert --to html notebook.ipynb
jupyter nbconvert --to pdf notebook.ipynb
jupyter nbconvert --to slides notebook.ipynb # 幻灯片
jupyter nbconvert --to markdown notebook.ipynb
隐藏代码(适合报告)
在 Cell 中设置 Tag:hide-input。或使用 --no-input:
jupyter nbconvert --to html --no-input notebook.ipynb
第五章:生产级 JupyterHub
多用户场景(教学/企业):
用户 → 浏览器 → JupyterHub → 为每人启动独立 JupyterLab Pod/容器
每个用户有独立环境、持久化存储。支持 GitHub OAuth / LDAP 认证。
思考题
- Jupyter 的内核和 Notebook 的关系是什么?为什么内核挂了,Notebook 还能保存?
.ipynb文件里实际存的是什么?它是纯文本吗?- Jupyter 在数据科学中为何不可替代?VSCode 的
.py+# %%能否平替?