python:Jupyter Notebook

是什么

我们一直以来使用的IDE都是PyCharm。然而它并不是IDE的唯一选择,有时我们需要Jupyter Notebook

Jupyter Notebook是一种基于IPython的交互式IDE

  • 所谓交互式就是你有来言我有去,我们跟解释器更像是一种对话的关系。我说一段,解释器执行一段,我再说一段,解释器再执行一段,而且解释器能够记住之前的结果。反观我们在PyCharm中编程的经历,我们都是把全部的代码编辑完,再让解释器一起执行
  • IPython就是一种交互式的解释器。但它还是运行在命令行中的,不够fashion,所以人们把它做成了网页的形式,打开网页就能使用,而且添加了许多非常实用的功能,最终就形成了Jupyter Notebook。

jupyter notebook是一种 Web 应用,能让用户将说明文本、数学方程、代码和可视化内容全部组合到一个易于共享的文档中。它可以直接在代码旁写出叙述性文档,而不是另外编写单独的文档。也就是它可以能将代码、文档等这一切集中到一处,让用户一目了然。

Jupyter这个名字是它要服务的三种语言的缩写:Julia,PYThon和R,这个名字与“木星(jupiter)”谐音。Jupyter Notebook 已迅速成为数据分析,机器学习的必备工具。因为它可以让数据分析师集中精力向用户解释整个分析过程。我们可以通过Jupyter notebook写出了我们的学习笔记。但是jupyter远远不止支持上面的三种语言,目前能够使用的语言他基本上都能支持,包括C、C++、C#,java、Go等等。

有什么作用

在介绍 Jupyter Notebook 的功能之前,让我们先来看一个概念:文学编程 ( Literate programming ),这是由 Donald Knuth 提出的编程方法。传统的结构化编程,人们需要按计算机的逻辑顺序来编写代码;与此相反,文学编程则可以让人们按照自己的思维逻辑来开发程序。

简单来说,文学编程的读者不是机器,而是人。 我们从写出让机器读懂的代码,过渡到向人们解说如何让机器实现我们的想法,其中除了代码,更多的是叙述性的文字、图表等内容。这么一看,这不正是数据分析人员所需要的编码风格么?不仅要当好一个程序员,还得当好一个作家。那么 Jupyter Notebook 就是不可或缺的一款集编程和写作于一体的效率工具。

以下列举了 Jupyter Notebook 的众多优点:

(1)极其适合数据分析,想象一下如下混乱的场景:你在终端中运行程序,可视化结果却显示在另一个窗口中,包含函数和类的脚本存在其他文档中,更可恶的是你还需另外写一份说明文档来解释程序如何执行以及结果如何。此时 Jupyter Notebook 从天而降,将所有内容收归一处,你是不是顿觉灵台清明,思路更加清晰了呢?

(2)支持多语言,也许你习惯使用 R 语言来做数据分析,或者是想用学术界常用的 MATLAB 和 Mathematica,这些都不成问题,只要安装相对应的核(kernel)即可。这里列出了 Jupyter 支持的所有语言,供您参考。

分享便捷,支持以网页的形式分享,GitHub 中天然支持 Notebook 展示,也可以通过 nbviewer 分享你的文档。当然也支持导出成 HTML、Markdown 、PDF 等多种格式的文档。

(3)远程运行,在任何地点都可以通过网络链接远程服务器来实现运算

(4)交互式展现,不仅可以输出图片、视频、数学公式,甚至可以呈现一些互动的可视化内容,比如可以缩放的地图或者是可以旋转的三维模型。这就需要交互式插件(Interactive widgets)来支持,更多内容请参考这里。

安装

可以先在线体验一下:

  • http://jupyter.org/
  • https://jupyter.org/try-jupyter/lab/
    强烈建议使用Anaconda环境来安装Jupyter Notebook。Anaconda 集成安装包已经包含了Python、Jupyter Notebook以及其他常用的科学计算和数据科学包。

python:Jupyter Notebook_第1张图片

打开

点开Jupyter Notebook,会出现一个命令行窗口,经过短暂的运行后会弹出浏览器页面,这时我们就进入了Jupyter Notebook的网页界面了。

python:Jupyter Notebook_第2张图片

有些情况下不会自动弹出浏览器页面,这时复制命令行窗口的这个网址并粘贴到浏览器网址里打开就可以了

  • 注意:之后在Jupyter Notebook的所有操作,都请保持终端不要关闭,因为一旦关闭终端,就会断开与本地服务器的链接,你将无法在Jupyter Notebook中进行其他操作啦。
  • 浏览器地址栏中默认地将会显示:http://localhost:8888。其中,“localhost”指的是本机,“8888”则是端口号。
  • 如果你同时启动了多个Jupyter Notebook,由于默认端口“8888”被占用,因此地址栏中的数字将从“8888”起,每多启动一个Jupyter Notebook数字就加1,如“8889”、“8890”……

当执行完启动命令之后,浏览器将会进入到Notebook的主页面,如下图所示。

  • 界面里出现的是C:\Users\Administrator文件夹下的文件,这个文件夹也是Jupyter Notebook的默认文件夹。
    python:Jupyter Notebook_第3张图片

操作

现在我们来新建一个文件。

  • 在主界面右上角点击【Python3】创建一个基于Python3解释环境的notebook。

python:Jupyter Notebook_第4张图片

  • 之后弹出了一个新的页面:
    python:Jupyter Notebook_第5张图片

  • 这就是一个新的Jupyter Notebook文件,它的后缀名为.ipynb,红框内的是文件名,目前的是默认的名字,我们可以双击修改。

  • 而下边的就是我们可以输入的代码段了,我们来导入一个模块并点击运行
    python:Jupyter Notebook_第6张图片

  • 这时下边出现了一个新的代码段,而且左边蓝色的框框从第一个代码段换到了新的代码段上,这提示我们现在操作的是这个代码段。

单元格类型

Jupyter Notebook是一种很好的可视化编程方式。
python:Jupyter Notebook_第7张图片
Notebook是由单元格组成的。每个单元格可以是代码单元格,也可以是文本单元格。
在下拉菜单中(如上所示),你有四个选项:

  • Code - 这是你编写代码的地方。
  • Markdown - 这是你输入文本的地方。你可以在运行代码后添加结论,添加注释等。
  • Raw NBConvert - 这是一个命令行工具,可将你的笔记本转换为另一种格式(如 HTML)
  • Heading - 你可以将标题添加到单独的小节并使你的 Notebook 看起来干净整洁。这个选项现在已经集成到 Markdown 选项中。添加一个"##",以确保在你之后输入的内容将被视为标题。

参考

  • https://baijiahao.baidu.com/s?id=1737771286180114338&wfr=spider&for=pc
  • https://blog.csdn.net/tianzhonghaoqing/article/details/121482700
  • https://zhuanlan.zhihu.com/p/33105153

你可能感兴趣的:(python,python,jupyter,pycharm)