【3】jupyter单元格Cell操作

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

类型 主要用途 执行效果与说明
💻 代码 编写和执行代码 (默认类型) 执行并显示代码输出,可运行 pythonRbash 等。
📝 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 语法,可以方便地插入图片、表格、列表等。
    • 插入图片![图片描述](图片的URL或本地路径)
    • 插入视频 :粘贴支持的视频链接,或在 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")
    • 显示HTMLfrom IPython.display import HTML; HTML("<h1>Hello World!</h1>")
    • 显示JSONfrom IPython.display import JSON; JSON({"key": "value"})

💡 小贴士

  • 查看帮助 :在任何魔法命令后加 ? 可查看详细帮助,例如 %timeit?。同时,%quickref 命令可快速查看常用魔法命令的参考。
  • 获取环境信息 :使用 %lsmagic 可以列出当前环境中所有可用的魔法命令,避免因环境差异导致命令找不到的情况。
  • 变量交互 :Shell 命令中可以通过 {variable_name} 的形式引用 Python 变量。例如:dir_name = "data"; !mkdir -p {dir_name}
相关推荐
landyjzlai4 小时前
蓝迪哥玩转Ai(8)---端侧AI:RK3588 端侧大语言模型(LLM)开发实战指南
人工智能·python
我叫黑大帅6 小时前
如何通过 Python 实现招聘平台自动投递
后端·python·面试
其实防守也摸鱼6 小时前
CTF密码学综合教学指南--第九章
开发语言·网络·python·安全·网络安全·密码学·ctf
砚底藏山河6 小时前
Python量化开发:2026最佳实时股票数据API接口推荐与对比
开发语言·windows·python
研究点啥好呢7 小时前
专为求职者开发的“面馆”!!!摆脱面试焦虑!!!
python·面试·开源·reactjs·求职招聘·fastapi
DFT计算杂谈8 小时前
自动化脚本一键绘制三元化合物相图
java·运维·服务器·开发语言·前端·python·自动化
EW Frontier8 小时前
6G ISAC新范式:基于智能漏波天线的Wi‑Fi通感一体化系统设计与实测【附MATLAB+python代码】
开发语言·python·matlab·music·isac·doa·wi‑fi
姚青&8 小时前
测试技术体系
java·python
易标AI9 小时前
标书智能体(五)——如何让弱模型也能稳定输出复杂json
人工智能·python·提示词·智能体·招投标
Cyber4K10 小时前
【Python专项】Nginx访问日志分析时间范围处理示例
开发语言·python·nginx