# Notebook环境使用指南

# IPython

基于 Python 的交互式解释器。相较于原生的 Python Shell,IPython 提供了更为强大的编辑和交互功能。

# 单元格的两种模式

每一个单元格会有两种模式,分别是 Markdown(文本) 和 Code(代码)。

如何判断一个单元格是 Markdown 单元格,还是 Code 单元格?一般有两种方式。首先,选中之后的单元格右上角会出现一个菜单栏,绿色高亮的按钮就代表当前单元格的模式。上图中,就是一个典型的 Markdown 单元格。

除此之外,更简单的方法就是观察单元格的背景色。如下图所示,我们将 Code 单元格的背景色设置成为黑色,而 Markdown 单元格的背景则为白色。

输入图片描述

# 单元格菜单栏

上面提到了单元格右上角的菜单栏。如下图所示,菜单栏中包含了针对单元格常见的 4 种操作。

输入图片描述

# 运行代码

当前,这一切都是在 Code 单元格中完成。如下图所示,当你在 Code 单元格中书写 print('hello, world!') 时,点击左侧的运行按钮 ▶,相应的代码就会立即执行,并在单元格的下方显示输出内容。

当你需要执行一个单元格时,也可以通过快捷键 Shift + Enter 来运行。使用快捷键的好处是你的双手不需要离开键盘。

如果你一不小心双击了相应单元格进入到编辑状态。不用担心,选中相应单元格,并同样使用快捷键 Shift + Enter 执行,就可以恢复到先前的状态。

# 单元格执行顺序

无论是 Markdown 单元格,还是 Code 单元格,它们在课程中都是按照从上到下的顺序依次执行的。后面的单元格需要等待前面的单元格执行完成后,才能继续执行。执行完成的单元格左侧会出现 In [序号] 的标志.

# 代码补全

当你运行了 import numpy as np,才能够使用 Tab 键自动补全 np. 下面的类和相关函数。

# 函数使用建议

对于一个陌生的函数不够了解,那么可以通过 shift + tab 快捷键查看使用建议。

# 单元格的执行状态

通过页面右上角的 Kernel 状态指示器判断内核占用情况。如果 Python 字符右边出现了实心圆圈 ◉,代表内核处于占有状态。而空心圆圈 ◯ 则代表内核处于空闲状态。当然,也可能出现链接断开的符号,那就代表着内核已经断开链接,你可能需要刷新页面.

# 重启内核

有些时候,当你在运行复杂的代码时,可能会造成实验环境资源占用大而 Notebook 出现「假死」的现象。在遇到这种情况时,你可能不希望重新关闭再打开实验,那么可以执行「重启 Notebook 内核」操作。

重启内核的按钮在环境的顶部,点击刷新样式按钮后会弹出确认对话框,点击 Restart 即可。

如果重启完内核后,执行上方单元格会报错 NameError。原因在于重启内核后之前全部的单元格运行状态都会重置,即上文中我们赋值过的变量 a 又会回到未赋值状态。现在你应该明白重启内核的作用和影响了吧。

# 强制终止

有的时候,如果代码运行时间过长,或者陷入死循环,我们会想到强制终止单元格的运行状态。此时,顶部的 终止按钮就发挥作用了。

# 快捷键

为了提高 Jupyter Notebook 的使用效率,其提供了一系列快捷键,我们挑选了常用的几个总结如下:

  • B:在当前单元格下方新建空白单元格。
  • M:将单元格格式转换为 Markdown。
  • Y:将单元格格式转换为 Code。
  • 连续按 D+D:删除当前单元格。(慎用,推荐使用按下 X 剪切单元格代替,因为其可以起到删除效果,且删错了还可以按 V 粘贴回来)
  • Shift + Enter:运行当前单元格内容。(当 Markdown 单元格处于编辑状态时,运行即可复原)

请注意,所有快捷键触发式,需保证单元格处于选中状态,而非编辑状态。