什么是“笔记本(notebook)”?记事本将代码及其输出集成到一个文档中,该文档结合了可视化、叙述性文本、数学方程和其他富媒体。这种直观的工作流程促进了迭代和快速的开发,使笔记本在当代数据科学、分析和越来越广泛的科学的核心领域成为越来越受欢迎的选择。
最重要的是,作为开源项目Jupyter的一部分,它们是完全免费的。
01
安装Jupyter Notebook
Python中没有包含Jupyter笔记本,所以如果您想试用它,您需要安装Jupyter。
我们有两种方法可以安装Notebook:
你可以使用Python自带的一个叫做pip的工具来安装Jupyter Notebook,如下图所示:
代码语言:javascript复制$ pip install jupyter
Python的一个最流行的发行版是Anaconda。Anaconda有自己的安装工具conda,可以用来安装第三方包。然而,Anaconda预装了许多科学包,包括Jupyter Notebook,所以你实际上不需要做任何事情,除了安装Anaconda本身。
02
启动Notebook
现在已经安装了Jupyter Notebook,让我们学习如何使用它。首先,你需要做的就是打开你的终端应用程序,进入你选择的文件夹。我建议你从你的文档文件夹开始,然后创建一个叫做“笔记本”的子文件夹,或者其他容易记住的文件夹。
然后到你终端的那个位置,运行以下命令:
代码语言:javascript复制$ jupyter notebook
另外,使用Windows系统的用户,可以找到快捷方式打开。例如,我是通过Anaconda安装的Notebook,就可以按照下图所示打开notebook
这将启动Jupyter,您的默认浏览器应该启动(或打开一个新选项卡)到以下URL: http://localhost:8888/tree
你的浏览器现在应该是这样的:
03
建立一个笔记
既然您已经知道如何启动一个记事本服务器,那么您可能应该学习如何创建一个实际的记事本文档。
您所需要做的就是单击New按钮(右上角),它将打开一个选项列表。在我的机器上,我碰巧安装了python2和python3,所以我可以创建一个使用这两种语言的笔记本。为了简单起见,我们选择python3。
你的网页现在应该是这样的:
04
命名
您将注意到在页面的顶部是“Untitled”这个单词。这是页面的标题和笔记本的名称。既然那不是一个描述性很强的名字,我们就把它改一下吧!
只需将鼠标移动到“无题(Untitled)”一词上,然后单击文本。您现在应该看到一个名为Rename Notebook的浏览器对话框。让我们把这个重命名为Hello Jupyter:
05
运行cells
记事本的单元格(cell)默认在您首次创建代码时使用代码,并且该单元格使用您在启动记事本时选择的内核。
在本例中,您的内核是python3,这意味着您可以在代码单元中编写Python代码。因为你最初的笔记本只有一个空单元格,所以它不能做任何事情。
因此,要验证一切是否正常工作,可以向单元格添加一些Python代码并尝试运行其内容。
让我们尝试添加以下代码到该单元格:
代码语言:javascript复制print('Hello Jupyter!')
运行一个单元意味着您将执行单元的内容。要执行单元格,只需选择单元格并单击沿顶部按钮行中的Run按钮。它在中间。如果你喜欢用键盘,你可以直接按
Shift Enter.
当我运行上面的代码时,输出如下:
如果您的笔记本中有多个单元格,并且按顺序运行单元格,那么您可以跨单元共享您的变量和导入。这使得将代码分成逻辑块变得很容易,而不需要重新导入库或在每个单元中重新创建变量或函数。
当您运行一个单元格时,您会注意到在单元格左侧的单词旁边有一些方括号。方括号将自动填充一个数字,该数字指示您运行单元格的顺序。例如,如果您打开一个新的笔记本并运行笔记本顶部的第一个单元格,方括号将填充数字1。
06
添加丰富的内容
Jupyter Notebook支持添加丰富的内容到其单元格。在本节中,您将概述使用标记和代码对单元格进行的一些操作。
cell类型
技术上有四种单元格类型:代码、Markdown、Raw NBConvert和标题。
您已经了解了代码单元格的工作方式,现在让我们学习如何使用Markdown对文本进行样式设置。
Jupyter Notebook支持Markdown,这是一种标记语言,是HTML的超集。设置一个新的单元格标记,然后添加以下文字到单元格:
当你运行cell,输出应该是这样的:
在Markdown中创建标头也非常简单。你只需要使用不起眼的#号。使用的#符号越多,标题越小。木星笔记本甚至可以为你预览一下:
然后当你运行单元格时,你会得到一个格式良好的标题:
07
导出
当你使用Jupyter的时候,你会发现你需要和非技术人员分享你的成果。当这种情况发生时,您可以使用nbconvert工具,该工具与Jupyter笔记本一起提供,可以将您的笔记本转换或导出为以下格式之一:
- HTML
- LaTeX
- RevealJS
- Markdown
- ReStructured Text
- Executable script
如何使用nbconvert
基本的转换命令是这样的:假设您有一个名为py_examples的笔记本。你想把它转换成PDF格式。下面是你可以使用的命令:
代码语言:javascript复制$ jupyter nbconvert py_examples.ipynb --to pdf
09
结语
Jupyter不仅对学习和教授Python等编程语言非常有用,而且对共享数据也非常有用。你可以把你的笔记本变成幻灯片,也可以和GitHub在线分享。如果你想共享一个笔记本而不需要你的用户安装任何东西,你可以使用活页夹。
强烈推荐使用