2.3 IPython Notebook
IPython Notebook在社区中日渐流行,特别是在科研和教育领域。它为IPython带来了HTML UI,也可以把会话保存为JSON格式的文件。由于可保存为文件,一个代码执行过程就成为reproducible的了,这在科研领域是极为重要的。Notebook在浏览器中执行脚本,同时也可以包含Markdown、图片之类的文件。Notebook文件还可以导出为Python脚本、HTML或PDF。
注:从4.0开始,IPython成为Jupyter的kernel,后者Jupyter Notebook相比IPython Notebook更为强大,支持的语言超过40种,特别是数据科学方面的R、Julia、Scala和Bash等语言。
除了Shell,IPython的另一种界面是Qt console,这个版本的用户体验更好,比如帮助信息显示、文本编辑(copy、paste之类)。在安装Anaconda之后,会自动拥有这个Qt版。
2.3.1 安装
如果IPython是通过诸如Anaconda这样的发行包安装的,那么NotebookServer已经可以使用了。如果是手动安装的,那么PyZMQ和Tornado是必需的。
打开Jupyter Notebook,然后可以访问http://127.0.0.1:8888/tree,进入Notebook dashboard页面。
有一个NB的viewer:http://nbviewer.ipython.org/,可以在线浏览和分享Notebook。
2.3.2 与cell玩耍
通过菜单创建一个Notebook后,就可以肆意玩耍了,当你能够熟练地使用Notebook后,你会更好地理解“肆意”的意思:)
在第一个cell里随便输入一段代码(可执行的),然后按Shift+Enter,Notebook会执行这个cell,然后跳转至下一个cell。如果按Ctrl+Enter,则只执行代码而不跳转。
先按Ctrl+M,再按H会显示所有快捷键列表。
2.3.3 cell魔法方法
使用前缀%%:
%%file test.txt
Hello World!
2.3.4 管理Notebook
在使用桌面编辑器时,我们习惯使用Ctrl+S,这在Notebook中也可以。
2.3.5 多媒体和富文本编辑
即已提到过的Markdown支持。
2.3.6 绘图
详见第四章。