第一部分: Jupyter Notebook使用

1.1、Jupyter Notebook简介

初阶入门知识

什么是Jupyter Notebook?嗯,你现在正在浏览的就是一个Jupyter Notebook。它是有大量模块组成的一个文件。你可以在其中进行纯文本格式的编辑(Markdown模块),也可以进行R (python) 的编程(Code模块)并直接进行运行。如下所示:

In [ ]:
1+2

Jupyter Notebook是基于网页的用于交互计算的应用程序。其可被应用于全过程计算:开发、文档编写、运行代码和展示结果。—— Jupyter Notebook 官方介绍

这种代码和文本编辑的混合模式,使Jupyter Notebook可以非常直观的看到代码、代码的注释以及运行代码后的运算结果。

特点

1、 编程时具有语法高亮、缩进、tab补全的功能。

2、 可直接通过浏览器运行代码,同时在代码块下方展示运行结果。

3、 以富媒体格式展示计算结果。富媒体格式包括:HTML,LaTeX,PNG,SVG等。

4、 对代码编写说明文档或语句时,支持Markdown语法。

5、 支持使用LaTeX编写。

$$ \frac{1}{3}$$

主界面

jiemian

文本编辑

Jupyter Notebook中用来进行文本编辑的模块叫做_Markdown_模块. Markdown是一种非常流行的标记语言。定义一个模块是_Markdown_模块,你需要按工具栏中的下拉菜单,并选择_Markdown_选项。

现在按一下菜单栏左边的'+'按钮,然后选择菜单栏右边的_Markdown_选项。

add

现在你可以在你的_Markdown_模块中写下'My first markdown cell',然后按'运行'。

你将会看到如下的运行结果:

My first markdown cell

下面我们试一下_Code_模块: 按照和前面类似的操作步骤,不过这次我们选择模块的种类时,不要改变其种类(模块的默认属性是_Code_模块)。在其中输入3/2,运行后你将会看到如下1.5的输出结果。

In [ ]:
3/2

模式

如果你在Markdown模块中输入了内容并运行后,你会发现如果你只单击它,你并不能修改此模块中的内容。这是因为你正处于命令模式下。Juypter Notebook有两种不同的模式:

  1. 编辑模式:让你对模块中的内容进行编辑。

  2. 命令模式: 让你对Jupyter Notebook整体内容,使用键盘快捷键进行编辑,但是此模式不能编辑一个模块中的具体内容。

你可以通过按ESC键和Enter键,或者单击模块外或模块内(对_Markdown_模块需要双击),在两种不同的模式间进行切换。此外,通过留意模块外的边框颜色,你也可以知道目前正处于的模式状态(绿色边框表示正处于编辑模式)。

其他注意事项

  1. Jupyter Notebook默认每两分钟自动保存一次。你也可以通过按菜单栏的保存按钮,或者在命令模式下按s键,保存文件。

Save

  1. 如果你想知道计算机是否正在进行运算,你可以留意Notebook右上角的圆圈。如果圆圈处于实心状态,这表明机器正在进行运算;如果是空心的圆圈,表明机器正处于闲置状态。

Busy

  1. 一些在命令模式下的常用键盘快捷键:

Shift+Enter: 运行_Markdown_或_Code_模块;

Up Arrow+Down Arrow: 在模块间上下移动;

a: 在上方创建新模块;

b: 在下方创建新模块;

y: 把标记(markdown)块转换成代码(code);

m: 把代码(code)块转换成标记(markdown);

d+d: 删除模块;

1.2、Jupyter Notebooks使用进阶

_Markdown_模块扩展编辑

斜体,粗体,内联,引用块及超链接格式:

  1. 斜体: 文本两侧用 '_' 或 '*' 标注;
  2. 粗体: 文本两侧用 '__' 或 '**' 标注;
  3. 内联: 文本两侧用 '`' 标注;
  4. blockquote: 文本前用 '>' 标注;

  5. 超链接: 链接文本两侧用 '[]' 标注,并将链接的地址放在文本后的括弧内 '()' 。

标题

_Markdown_模块前的井号代表此模块中的文字是标题。最前面井号的数目代表此标题的层级('#'代表第一级标题,'##'代表第二级标题,'###'代表第三级标题,'####'代表第四级标题)。

列表

Markdown模块中有三种不同的列表:

有序列表:

  1. 第一步
  2. 第二步
  3. 第三步

无序列表:文字前加 ' * ' 或 ' - ' 或‘ + ’和一个空格

  • learning rate
  • cycle length
  • weight decay

任务列表

  • [x] Learn Jupyter Notebooks
    • [x] Writing
    • [x] Modes
    • [x] Other Considerations
  • [ ] Change the world

请双击这些单元,并观察其标注格式。

_Code_模块操作

Code模块和Markdown模块最大的区别在于,它后面有一个输出模块。这使我们可以在共享文档的同时,共享文档代码运行后的最终结果。这些结果在我们下一次打开文档的时候,还能展示在那里。

In [1]:
x = 1:4
In [2]:
plot(x,type = "b")
boxplot(x)
In [ ]: