Python 利器 jupyter notebook

Jupyter Notebook 简介

一款优秀的开发环境,不仅能提高 coding 效率,还拥有强大的扩展能力,那么 Jupyter Notebook 就是不二之选。

基本介绍

Jupyter Notebook(前身是 IPython Notebook)是一个基于 Web 的交互式计算环境,用于创建 Jupyter Notebook 文档。可以用于许多编程语言,包括 Python、R、Julia 和 Haskell。Jupyter 的名字就很好地释义了这一发展过程,它是 Julia、Python 以及 R 语言的组合,字形相近于木星(Jupiter),而且现在支持的语言也远超这三种了。

Jupyter Notebook 内置在 Anaconda 软件中,只需安装 Anaconda 软件即可使用

Python 利器 jupyter notebook

安装 Anaconda

Anaconda是一个免费开源的 Python 和 R 语言的发行版本,用于计算科学(数据科学、机器学习、大数据处理和预测分析),Anaconda 致力于简化包管理和部署。内置大部分机器学习所需要的包。anaconda 下载地址:https://www.anaconda.com/distribution/

修改 Notebook原始路径

对于为什么要修改初始路径,完全是因为习惯,作为一名合格的程序员,每份代码都需要给他们一个家,而不是随便在桌面上一放,建议你也养成习惯,最好对每份文件的路径知根知底。

打开 Anaconda Prompt

Python 利器 jupyter notebook

输入命令jupyter Notebook--generate-config会生成一个 py 文件,只需打开该文件修改部分代码即可设置初始文件路径

Python 利器 jupyter notebook

修改代码

在jupyter_notebook_config.py文件里面有几行代码,原始代码如下:

 

Python 利器 jupyter notebook

修改为:

Python 利器 jupyter notebook

划红颜色的那里就是你想要放置的路径,同时,建议你修改这个文件夹时使用notepad++记事本编辑软件,保存时另存为 编码 utf-8,防止出现不可描述的错误

修改完的结果如下,最开始是空的

Python 利器 jupyter notebook

Notebook基本使用

Notebook 的每一个单元叫做 Cell , Notebook的快捷键支持添加、删除、切换 Cell 块为代码格式(运行代码的单元) or Markdown (用作记录的单元)文本格式

快捷键

以下快捷键都是在 Cell 前面蓝色显示时操作有效,若显示绿色,可以用ESC进行切换

Python 利器 jupyter notebook

A在当前 Cell 上面添加新的 Cell

X剪切当前的 Cell

M将代码格式的 Cell 变成 Markdown 格式的 Cell

Y将 Markdown 格式的 Cell 切换为代码格式 Cell

shift+enter运行代码

更多快捷键可以查看 Notebook 里面的帮助文档

Python 利器 jupyter notebook

Notebook有许多漂亮的操作,比如代码联想、魔法关键词、支持单行代码独立运行等。

单块代码独立运行,这个对与搞计算机视觉的人来说简直是大福利,做计算机视觉的,往往需要从机器中读取大量的图片到内存中,所以运行时间会变得很慢,若在 Pycharm (一款开发软件),每次运行代码都需要进行一次图片读取操作,这就增加了调参成本,时间可贵,应该让时间花在有价值的地方

Python 利器 jupyter notebook

代码联想:

这是所有编辑器基本都会有的功能,快捷键是Tab键

Python 利器 jupyter notebook

多行编辑 ctrl+鼠标

Python 利器 jupyter notebook

关键参数联想: shift+tab

Python 利器 jupyter notebook

历史记录查询

只需输入%history即可查询历史输入的代码,这与 Matlab 的控制台很像

Python 利器 jupyter notebook

jupyter Notebook扩展

Notebook 另一个强大的功能就是拥有丰富的扩展,其中包含着许多高效的工具

Python 利器 jupyter notebook

安装扩展

在Anaconda Prompt输入代码进行安装,扩展安装代码:conda install -c conda-forge jupyter_contrib_nbextensions

autopep8

程序员都应该知道的 pep8 代码规范,写代码吗,不仅要自己看得舒服,更要让人看得舒服,毕竟代码不只是自己看的

具体规范见:https://www.python.org/dev/peps/pep-0008/

Python 利器 jupyter notebook

2to3 conveter

由于历史原因,Python2 和 Python3 代码存在部分差异,为了解决不同版本代码兼容问题,2to3 conveter 的出现就很友好

Python 利器 jupyter notebook

Variable Inspector

变量查看工具,一个非常棒的调试工具,有类似 Matlab 软件的功能,主要的优点就是需要的时候再调出来

Python 利器 jupyter notebook

Table of Contents

合格的程序员不仅需要会写代码,还需要会写技术文档、代码注释,Table of Contents 可以显示文档的大纲,完美支持 Markdown 格式,现在所有能用 Markdown 完成的任务我都不用 Office 软件

Python 利器 jupyter notebook

其他扩展

更多扩展请见Edit-> Configurable nbextensions

对于开发来说,扩展本质上还是为了开发效率,选择个人所需即可,工具千千万,效率第一条