1. 介绍

 前一段跑别人的python代码,扩展名是ipynb,不能直接用python命令执行,于是只好安装了Jupyter notebook软件,然后发现它是一个非常好用的程序写作工具。
 对我来说,它最大的好处就是文档和程序可以写在一起了。在写程序的时候往往会有一些思路,解释,分析,运行结果等等,需要记下来,比较长的就不太适合在程序里面注释,记在其它地方又容易忘掉。Notebook完美地解决了这个问题。当然它还有很多其它优点,下面简单介绍一下。

2. Jupyter Notebook

 IPYNB是ipython notebook的缩写,它开始只支持python,后来又支持了其它40多种编辑语言,就改名叫Jupyter notebook。
 Notebook存储python程序的文件是ipynb,ipynb一种文本文件,可以用vi直接打开,文件中除了程序和说明还有一些结构信息,不能直接用python执行,但在notebook界面中可以被导出成.py程序,还可以导出成html, pdf等格式,像Kaggle上面的程序及说明都是这种格式的,Github也支持该格式的完美显示,即:在Github中打开.pynb文件看到的就是分块的代码。
 Notebook是用网页访问的,你可以在网页中编写和执行程序。并且可以在其它机器上远程调用它,这种环境也屏蔽了不同系统的显示差异。在分享示例代码的时候,也非常方便,完全不用再去考虑格式的问题。

3. 安装

$ sudo pip3 install ipython
$ sudo pip3 install jupyter  #用pip命令自动安装相关的依赖包

4. 运行

$ ipython3 notebook

 此时浏览器被打开,本机开启了8888端口,浏览器通过访问该端口,列出了当前目录下的ipynb文件。



Python Notebook (Jupyter Notebook) 介绍_github

 此时可以在浏览器中编辑和运行已存在的程序,如果还没有ipynb文件,可点击右上的new新建程序。在编写和调试程序的过程中,错误提示和运行结果也都显示在浏览器中。

5. 单元

 Notebook中的基本元素是“Cell”即单元。主要有两种形式的单元: 代码单元:代码单元左边有 In [ ]: 这样的序列标记,方便查看代码的执行次序。其结果显示在本单元下方。
 Markdown 单元:在这里可以编辑文本,采用 markdown 的语法规范,可以设置文本格式、插入链接、图片甚至数学公式。 单元通过Insert菜单添加,在Cell菜单中可以选择运行全部代码或者某个代码单元,这有点像单步调试,也方便也省时。习惯了这种方式之后,代码分块也是对代码的功能划分。有时也可以把完全不同的几种思路写在一份代码里,只要运行不同单元即可,在调试过程中非常方便。
 与VI类似,Notebook也有编辑模式和命令模式,命令模式时单元左侧显示蓝线,编辑模式时左侧显示绿线。通过Esc键可切换到命令模式。在命令模式可以使用一些快捷键,比如用Shift+L控制是否显示行号。

6. 导出各种格式文件

 Notebook支持导出Python, Html,PDF等格式文件,具体方法是:
notebook菜单->File->Download as->xx

7. 参考

(1) 左手程序员,右手作家:你必须会的Jupyter Notebook
​​​http://python.jobbole.com/87527/​