4.4 Jupyter NoteBook 使用指南 ============================= |image0| -------------- 今天来安利一款 Python开发 的神器,想必做为老司机的你,一定不会陌生。它就是 Anaconda。 推荐指数 5颗星:理由如下 - 解决繁琐的环境与包的问题。 在Python中,最常用的包管理工具是 pip,他可以很方便帮我们解决依赖问题。但是,在某些情况下,安装某些包,你使用 pip 你可能永远也安装不上(譬如说 lxml,PIL),这就很尴尬了。Google 搜索了下 安装方法,手动安装当然麻烦呀。 但是使用 Anaconda,这些难以安装的包,都已经集成好了(还内置 conda 包管理工具,类似 pip),你直接用就行了。省事又省心。而且还可以通过可视化的界面进行包的管理。 - 可以方便地配置多个环境 Python 有 2.x 和 3.x 两个大版本。在不同的需求下,有时候你需要在不同的环境中使用Python,如果你不会使用 虚拟拟环境,也不会使用 Pythcarm 的话,那么试一试 Anaconda 吧,它可以很方便地实现环境的隔离和切换。绝对不会让你失望。 - 内置很多数据分析实用工具 Anaconda 号称是适用于企业级大数据分析的Python工具。它包含了720多个数据科学相关的开源包(如Pandas,Scipy等),在数据可视化、机器学习、深度学习等多方面都有涉及。 - 内置了Jupyter NoteBook工具 有了这个工具,以后你不管是开发,调试,还是记录学习笔记,都可以在上面很完成,这也是本篇的重点。由于Anaconda里的工具太多,一一介绍也不现实,大家有兴趣可以去探索一下。 4.4.1 下载安装 -------------- 到官网下载 `Anaconda `__ |image1| 我这里选择下载 Py3.6,下载下来是 exe 文件(600多M)。安装即可。 安装完成后,还会提示你是否安装 VS Code,自行选择。不安装直接 Skip 就好。 4.4.2 启动程序 -------------- 点击打开 Anaconda 。会出现这个界面。第一眼,我看到了很多工具,包含 NoteBook,qtconsole,VS Ccode等。 |image2| 这里就介绍一下,我最经常使用的 NoteBook 就好了。其他的大家自行尝试。 选择 NoteBook,点击 Launch,会启动浏览器打开一个 web 页面。 |image3| 点击右上角的new,就可以进入 Python3 的交互界面。 |image4| 来感受一下,如何使用这个工具。 每一行的命令,都在一个可编辑的输入框。即使你的命令输入有误,你也不用从头写代码,直接编辑后重新执行即可。 |image5| 还有一点,命令的执行是可间断的,某个命令执行错误,不会导致整个程序中断,这将很方便我们调试代码,只要改完代码,再重新执行该行代码即可,而不用重新执行全部代码。 4.4.3 高效快捷键 ---------------- 如果要高效的使用这个工具,你需要掌握一些快捷键。这里小明给你准备好了一些常用的。你只要多加练习就可以相当熟练。 运行代码 ~~~~~~~~ +-------------+----------------+----------------+ | 快捷键 | 作用 | 说明 | +=============+================+================+ | Enter | 输入框换行 | | +-------------+----------------+----------------+ | Shift-Enter | 运行本单元代码 | 并跳转至下单元 | +-------------+----------------+----------------+ | Shift-Enter | 运行本单元代码 | 停留在本单元 | +-------------+----------------+----------------+ | Alt-Enter | 运行本单元代码 | 其下插入新单元 | +-------------+----------------+----------------+ 切换模式 ~~~~~~~~ 在不同的模式下,你细心点会发现单元格的颜色也是变化的。以下字母,不区分大小写。 +--------+--------------------------+------+ | 快捷键 | 作用 | 说明 | +========+==========================+======+ | Enter | 进入编辑模式 | | +--------+--------------------------+------+ | Esc | 退出编辑状态 | | +--------+--------------------------+------+ | Y | 单元格转入代码状态 | | +--------+--------------------------+------+ | R | 单元格进入 Raw 状态 | | +--------+--------------------------+------+ | M | 单元格进入 Markdown 状态 | | +--------+--------------------------+------+ Markdown下快捷键 ~~~~~~~~~~~~~~~~ +--------+---------------+------+ | 快捷键 | 作用 | 说明 | +========+===============+======+ | 1 | 设定 1 级标题 | | +--------+---------------+------+ | 2 | 设定 2 级标题 | | +--------+---------------+------+ | 3 | 设定 3 级标题 | | +--------+---------------+------+ | 4 | 设定 4 级标题 | | +--------+---------------+------+ | 5 | 设定 5 级标题 | | +--------+---------------+------+ | 6 | 设定 6 级标题 | | +--------+---------------+------+ 操作单元格 ~~~~~~~~~~ 在 非编辑模式下,NoteBook 可以像 vi 一样使用。意味着大多数 vi 命令在这里也是适用的。 比如选择单个单元格,可以用 j和k。 比如删除单元格,可以用 dd。 其他的,还有一些和我们日常操作很像。 +---------+------------------------+------+ | 快捷键 | 作用 | 说明 | +=========+========================+======+ | c | 复制选中的单元 | | +---------+------------------------+------+ | x | 剪切选中的单元 | | +---------+------------------------+------+ | shift-v | 粘贴到上方单元 | | +---------+------------------------+------+ | v | 粘贴到下方单元 | | +---------+------------------------+------+ | z | 恢复删除的最后一个单元 | | +---------+------------------------+------+ | shift-m | 合并选中的单元 | | +---------+------------------------+------+ | a | 在上方插入新单元 | | +---------+------------------------+------+ | b | 在下方插入新单元 | | +---------+------------------------+------+ | shitf-k | 向上连续选中单元格 | | +---------+------------------------+------+ | shitf-j | 向下连续选中单元格 | | +---------+------------------------+------+ 编辑模式下快捷键 ~~~~~~~~~~~~~~~~ +----------------+-------------------+----------------+ | 快捷键 | 作用 | 说明 | +================+===================+================+ | Tab | 代码补全或缩进 | | +----------------+-------------------+----------------+ | Shift-Tab | 提示 | | +----------------+-------------------+----------------+ | Ctrl-] | 缩进 | | +----------------+-------------------+----------------+ | Ctrl-[ | 解除缩进 | | +----------------+-------------------+----------------+ | Ctrl-D | 删除整行 | | +----------------+-------------------+----------------+ | Ctrl-Z | 撤消 | | +----------------+-------------------+----------------+ | Ctrl-Y | 取消撤消 | | +----------------+-------------------+----------------+ | Ctrl-Shift-Z | 取消撤消 | | +----------------+-------------------+----------------+ | Ctrl-A | 全选 | | +----------------+-------------------+----------------+ | Ctrl-U | 取消选择 | | +----------------+-------------------+----------------+ | Alt-U | 恢复选择 | | +----------------+-------------------+----------------+ | Ctrl-Home | 跳到单元开头 | | +----------------+-------------------+----------------+ | Ctrl-Up | 跳到单元开头 | | +----------------+-------------------+----------------+ | Ctrl-End | 跳到单元末尾 | | +----------------+-------------------+----------------+ | Ctrl-Down | 跳到单元末尾 | | +----------------+-------------------+----------------+ | Ctrl-Left | 跳到左边一个字首 | | +----------------+-------------------+----------------+ | Ctrl-Right | 跳到右边一个字首 | | +----------------+-------------------+----------------+ | Ctrl-Backspace | 删除前面一个字 | | +----------------+-------------------+----------------+ | Ctrl-Delete | 删除后面一个字 | | +----------------+-------------------+----------------+ | Ctrl-/ | 注释整行/撤销注释 | 仅代码状态有效 | +----------------+-------------------+----------------+ | Shift | 忽略 | | +----------------+-------------------+----------------+ | Ctrl-S | 保存当前 NoteBook | | +----------------+-------------------+----------------+ 其他快捷键 ~~~~~~~~~~ +--------------+----------------+------+ | 快捷键 | 作用 | 说明 | +==============+================+======+ | f | 搜索并替换 | | +--------------+----------------+------+ | l(L的小写) | 形状代码行号 | | +--------------+----------------+------+ | h | 显示快捷键帮助 | | +--------------+----------------+------+ 其实以上快捷键,在非编辑模式下,按 h 就会出现快捷键帮助菜单。 |image6| |image7| 4.4.4 导出笔记文件 ------------------ NoteBook 既然支持 Markdown ,你已经也能想到它可以用来记录学习笔记。 它提供多种常用的文件格式,md,rst,pdf等。如果你希望再次编辑,可以保存为ipynb,这是Jupyter的文件格式,可以再次打开进行编辑。 |image8| 以前我学习 Pandas 的时候,也曾经使用它做过笔记,输出的是PDF文件,可以按目录导航,相当方便。 |image9| 好了,大概就是这些内容。 -------------- |image10| .. |image0| image:: http://image.iswbm.com/20200602135014.png .. |image1| image:: http://image.iswbm.com/20190511163102.png .. |image2| image:: http://image.iswbm.com/20190511163123.png .. |image3| image:: http://image.iswbm.com/20190511163137.png .. |image4| image:: http://image.iswbm.com/20190511163145.png .. |image5| image:: http://image.iswbm.com/20190511163200.png .. |image6| image:: http://image.iswbm.com/20190511163245.png .. |image7| image:: http://image.iswbm.com/20190511163253.png .. |image8| image:: http://image.iswbm.com/20190511163304.png .. |image9| image:: http://image.iswbm.com/20190511163311.png .. |image10| image:: http://image.iswbm.com/20200607174235.png