Python从入门到精通(微课精编版)
上QQ阅读APP看书,第一时间看更新

1.4 使用Jupyter Notebook

1.4.1 认识Jupyter Notebook

Jupyter Notebook主要用于数据分析,以网页的形式打开,可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示。如果在编程过程中需要编写说明文档,可在同一个页面中直接编写,便于及时说明和解释。

提示:访问https://jupyter.org/try,可以在线试用Jupyter Notebook。

Jupyter Notebook组成部分如下。

(1)网页应用:基于网页形式,结合了编写说明文档、数学公式、交互计算和其他富媒体形式的工具。

(2)文档:Jupyter Notebook中所有交互计算、编写说明文档、数学公式、图片以及其他富媒体形式的输入和输出,都是以文档的形式体现的。这些文档可以保存为扩展名为.ipynb的JSON格式文件,不仅便于版本控制,也方便与他人共享。此外,文档还可以导出为HTML、LaTeX、PDF等格式。

Jupyter Notebook的主要特点如下。

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

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

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

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

➢ 支持使用LaTeX编写数学性说明。

1.4.2 安装Jupyter Notebook

安装Jupyter Notebook之前,必须先安装Python(3.3版本及以上,或2.7版本)。

1.使用Anaconda安装

最简单的途径是通过安装Anaconda来解决Jupyter Notebook的安装问题,因为Anaconda已经自动安装了Jupter Notebook及其他工具,以及Python中超过180个科学包及其依赖项。

如果安装的是Miniconda,或者其他原因导致的没有自动安装Jupter Notebook,那么在终端中输入以下命令安装:

    conda install jupyter notebook

2.使用pip命令安装

首先,在终端命令行中把pip升级到最新版本:

    pip install --upgrade pip

然后,安装Jupyter Notebook:

    pip install jupyter

1.4.3 启动Jupyter Notebook

打开命令行窗口,在终端中输入以下命令:

    jupyter notebook

执行该命令之后,将在终端中显示一系列Notebook的服务器信息,同时浏览器将会自动启动Jupyter Notebook。

注意:之后在Jupyter Notebook中的所有操作,都必须保持终端不要关闭。因为一旦关闭终端,就会断开与本地服务器的连接,将无法在Jupyter Notebook中进行其他操作。

浏览器地址栏中默认会显示:http://localhost:8888。其中,"localhost"指的是本机,"8888"则是端口号。

(1)如果同时启动多个Jupyter Notebook,由于默认端口"8888"被占用,因此,地址栏中的数字将从"8888"起,每多启动一个Jupyter Notebook数字就加1,如"8889"和"8890"等。

(2)如果想自定义端口号启动Jupyter Notebook,可以在终端中输入以下命令:

    jupyter notebook --port <port_number>

其中,<port_number>是自定义端口号,直接以数字的形式写在命令中,数字两边不加尖括号<>。如jupyter notebook --port 9999,即在端口号为9999的服务器启动Jupyter Notebook。

(3)如果只想启动Jupyter Notebook的服务器,但不打算立刻进入主页面,那么无须立刻启动浏览器。在终端中输入如下命令。

    jupyter notebook --no-browser

此时,将会在终端显示启动的服务器信息,并在服务器启动之后,显示打开浏览器页面的链接。当需要启动浏览器页面时,只需要复制链接,并粘贴在浏览器的地址栏中,按Enter键即可转到Jupyter Notebook页面。

(4)如果安装了Anaconda,可以在开始菜单中选择Anaconda3→Jupyter Notebook快捷菜单快速启动。

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

图1.20 Notebook的主页面

如果想修改主页面内的文件夹,可以在终端中执行cd命令,切换到指定文件夹,然后再输入jupyter notebook命令,启动Notebook。

1.4.4 在Jupyter Notebook中编写代码

在Notebook的主页面可以看到有3个Tab页面:Files、Running和Clusters。简单说明如下:

1.Files

Files页面是用于管理和创建文件相关的类目。对于现有的文件,可以通过勾选文件的方式,对选中文件进行复制、重命名、移动、下载、查看、编辑和删除的操作。

同时,也可以根据需要,在New下拉列表中选择想要创建文件的环境。例如,创建"ipynb"格式的笔记本、"txt"格式的文档、终端或文件夹。

2.Running

Running页面主要展示的是当前正在运行的终端和"ipynb"格式的笔记本。若想要关闭已经打开的终端和"ipynb"格式的笔记本,仅仅关闭其页面是无法彻底退出程序的,还需要在Running页面单击其对应的"Shutdown"。

3.Clusters

Clusters类目现在已由IPython parallel对接,且由于现阶段使用频率较低,在此不做详细说明,想要了解更多可以访问IPython parallel的官方网站。

下面重点介绍如何在Files页面编写代码。

在主页面单击New按钮,从弹出的下拉菜单中选择Python 3,新建Untitled.ipynb文件,如图1.21所示。

图1.21展示的是Notebook的基本结构和功能。

(1)第一行为标题行,显示文件名称,以及时间和操作状态。

(2)第二行为菜单栏,从左到右分别为:File(文件)、Edit(编辑)、View(视图)、Insert(插入)、Cell(单元格)、Kernel(内核)、Widgets(组件)、Help(帮助)。菜单栏涵盖了笔记本的所有功能,即便是工具栏的功能,也都可以在菜单栏的类目里找到。然而,并不是所有功能都是常用的,如Widgets。

(3)第三行为工具栏,从左到右分别为:保存、添加单元格、删除单元格、复制单元格、粘贴单元格、上移单元格、下移单元格、运行代码、中断内核(停止运行)、重启内核、重启内核并运行整个代码、单元格状态、打开命令配置。

Kernel主要是对内核的操作,如中断、重启、连接、关闭、切换内核等,由于在创建Notebook时已经选择了内核,因此,切换内核的操作便于在使用Notebook时,可以方便切换到想要的内核环境中去。由于其他的功能相对比较常规,根据提示简单尝试使用Notebook的功能已经非常便捷,因此不再做详细讲解。

单元格的状态包括Code、Markdown、Heading、Raw NBconvert。其中,最常用的是前两个,分别是代码状态,Markdown编写状态。Jupyter Notebook已经取消了Heading状态,即标题单元格。取而代之的是Markdown的一级至六级标题。而Raw NBconvert目前极少用到。

下面在单元格中输入如下代码块,然后运行代码,绘制两条曲线,效果如图1.22所示。

    import matplotlib.pyplot as plt
    import numpy as np
    x = np.linspace(0, 10, 100)
    plt.plot(x, np.sin(x))
    plt.plot(x, np.cos(x))
    plt.show()

图1.21 新建Untitled.ipynb文件

图1.22 编写并运行代码