Jupyter交互式WebIDE
0. 概要
Jupyter Notebook是一个基于Web的 交互式Python开发工具 ,有很多 魔法 Magic ,可以帮助你在使用Python进行科学计算时有更好的用户体验。
本文主要讲解Jupyter Notebook常用功能的使用方法。
1. 不同开发方式的对比
-
PyCharm
比较智能的Python IDE,对小白友好。
-
vscode + python3
编辑好python源文件,然后在终端里面执行。
-
python3的原生REPL
交互式,但是编辑多行代码不方便。
-
Jupyter Notebook 基于Web的交互式IDE (曾用名 IPython)
交互式查看结果,适合做实验。或者学习的时候,试验各种api的效果。科学计算必备IDE。
2. 安装Jupyter
Windows:
pip install jupyter
Linux:
sudo pip3 install jupyter
本文使用教程以Windows为例
3. 运行Jupyter Notebook服务器
本质上Jupyter Notebook是在本地搭建了一个服务器,Jupyter是基于Web的一款IDE。
我们在前端编辑代码,然后把代码块提交给本地的 Python解释器 解释执行,然后再把输出的信息回传给前端,显示出来。所以为了能够使用Jupyter Notekook,我们必须运行服务器。
在终端输入:
$ jupyter notebook
输出结果类似这样:
默认浏览器会自动打开
运行之后你所看到的目录,就是你在终端运行
jupyter notebook
指令时的路径下的所有文件/文件夹列表。
4. 创建一个文件
在
New
里面选择
Python3
,这时Jupyter Notebook会创建一个名为
Untitled.ipyb
的文件。
Untitled
的意思是新创建的这个文件还没有
命名
,你可以点击上方的文件名进行修改。
问题:那么
.ipynb
是什么,与
.py
的区别又是什么?
ipynb的英文全称是
interactive python notebook block
,交互式的python语句块。里面不光保存了python代码,还记录了代码块的执行过程,每个代码块的输出 (文本/图像),是以
json
的格式存储的。
5. Cell - 小窗格
Cell在英文里面是细胞的意思,在Jupyter Notebook里面代表小窗格,你可以在里面填写 文本 (Markdown) 或者是 代码 (Code) ,当你把鼠标点击到cell上面,就可以在下拉框看到cell的类别,同时也可以进行转换。
一个IDE当然是用来写代码,所以我们先来介绍 代码块 。
6. Code代码块
6.1 Run - 运行代码块
代码可以是一个块一个块的去执行,在代码块里面填写代码
a = 9
b = 2
a + b
点击
工具栏
上面的
Run
按钮,运行代码块。
符号
In [n]
代表是第n次输入
选中
Ceil
,使用快捷键
Ctrl + Enter
可以直接运行代码块。
6.2 新建代码块
点击工具栏的
+
号,创建一个新的代码块。
快捷键
Alt + Enter
# new code cell
你可以通过工具栏的
上下
按键调整cell的顺序。
6.3 删除代码块
通过工具栏的
剪刀
按钮,可以删除不用的代码块。
快捷键
Ctrl+X
测试删除代码块
# trash1
# trash2
如果你不小心删掉了代码块,还可以通过
Edit/Undo Delete Cell
来撤销刚才的操作。
6.4 中断代码块
有时候,你写了一个非常耗时的操作或者是不小心写了一个死循环,这时你需要中断代码。
点击工具栏上的
正方形按钮
,可以中断代码
当代码在执行时,左侧的代码块会显示
In[*]
。
a = 1
while True:
a = a + 1
KeyboardInterrupt
代表按键中断异常,刚才中断代码,产生了这个按键中断。
6.5 代码注释
选中你要注释的代码区域,然后
ctrl + /
批量添加注释/取消注释
6.6 关于Kernel
当我们运行一个ipyb时,在目录里面,这个文件图标会变成绿色,此时就有一个kernel在处理这个ipyb文件的内容,所有的变量都会被保存。
a = 0
上面创建了一个变量是
a
,这个变量会常驻kernel,代码块的执行顺序还有执行次数,都会有影响。
例如:多次运行下面的代码块
a = a + 1
print(a)
1
有时候,当你在进行一些不可逆的操作时,重复运行代码块就会 报错 或者得到你不想要的结果。在运行时需要注意。
6.7 重启Kernel
重启kernel,类似重新执行程序,把当前所有kernel里面的变量,产生的中间结果或输出,都清空。
点击工具栏的
restart the kernel (with dialog)
就是重启kernel,但是在重启之前会有一个对话框确认,问你是不是真的要重启。
重启内核并运行所有Ceil
你还可以直接点击 工具栏的
>>
按钮,重启kernel,并按照顺序重新执行所有的Cell。
7. 编辑文本Markdown
Jupyter Notebook除了可以让你编辑代码之外,你也可以往里面插入 图片 、 文本列表 、 数学公式 (Latex) 。
我们编辑这些文本的语法称之为 Markdown 。这个 Markdown 并不是Jupyter Notebook特有的,它是一种文本编辑 规范 。
将代码块变成Markdown编辑区
双击就可以对Markdown块进行编辑,
CTRL+ENTER
就是渲染该Markdown代码块为html。
下面列举一些简单的样例:
7.1 大标题
-
#
1级标题 -
##
2级标题 -
###
3级标题
7.2 文本效果
-
*文本*
斜体 -
**文本**
加粗
7.3 嵌入代码片段
格式:
```+语言
# 代码内容
```
示例:
# python代码块
a = 1
b = 2
print(a + b)
7.4 嵌入Latex数学公式
Latex是专门用于写论文/数学公式的一种语法
格式:
$公式片段$
$$
这里写公式
$$
7.5 嵌入网页链接
格式:
[网页名称](网页url)
示例:
网页链接
[typora文本编辑器官网](https://typora.io/)
渲染效果
7.6 嵌入图片
格式:
![图片名称](图片路径)
示例:
图片
![](jupyter.png)
8. 快捷键
Jupyter Notebook有很多快捷键,你可以点击工具栏上面的 键盘icon 查看所有的快捷键。
在后面的课程里会教大家几个必要的快捷键,也不需要强迫自己记住,多用就好。