Python高级课程:01 Jupyter notebook 入门
作者:韭菜学院 公众号:youxuancaijing
Jupyter notebook(又称IPython notebook)是一个交互式的笔记本,支持运行超过40种编程语言。
安装notebook
你可以在Jupyter website(https://jupyter.readthedocs.io/en/latest/install.html)上找到完整的安装步骤。
启动notebook
window键+R启动运行,输入cmd,回车启动命令窗口。
输入命令 jupyter notebook ,启动网页。
创建新的notebook
若要创建一个新的notebook,只需鼠标左击New,在下拉选项中选择一个你想启动的notebook类型即可。
重命名notebook
功能介绍
在主区域(编辑区),你可以看到一个个单元(cell)。每个notebook都由许多cell组成,每个cell有不同的功能。
首先,第一个cell如下图所示,以“In[ ]”开头表示这是一个代码单元。在代码单元里,你可以输入任何代码并执行。
例如,键盘输入1+2,然后按“Shift+Enter”,代码将被运行,并显示结果。同时,切换到新的cell中。
绿色的轮廓线所在的cell,就是当前工作单元。接下来,我们在第二个cell中,敲击下列代码:
for i in range(5):
print(i)
按“Shift+Enter”运行该单元,得到:
跟之前一样,代码被执行,结果也正确显示处理。但是你可能注意到这次没有Out[2],这是因为我们打印了结果,却没有返回值。
notebook一个非常有趣的特性是可以返回之前的cell,修改并重新运行,以此来跟新整个文档。例如,现在我们回到第一个cell中,将输入1+2改成2+3,重新按“Shift+Enter”运行该单元,结果被立即更新成5。当你想使用不同参数调试方程又不想运行整个脚本的时候,这条特性非常有用。然而,你也可以通过菜单栏Cell->Run all来重新运行整个notebook。
单元操作
当你在编辑notebook时,你希望使用更多高级的cell操作。幸运的是,notebook允许你使用非常丰富的cell操作。你可以删除一个cell,先选中cell,点击Edit->Delete cell。你也可以移动一个cell的位置,点击Edit->
Move cell [up | down]。你也可以剪切、粘贴cell,点击Edit->Cut Cell then Edit -> Paste Cell …,选择需要的粘贴形式。如果有许多cells,而你只想执行一次,或者你想一次性执行大量代码,你就可以合并多个cells,点击Edit->Merge cell [above|below]。编辑notebook时,记住这些操作,会节约你很多时间。
Markdown单元高级用法
让我们再深入地探讨下markdown单元类型,即便它的类型是markdown,它同时也支持HTML代码。你可以在你的cell中创建更高级的样式,比如添加图片等等。举个例子来说,如果你想在notebook中添加Jupyter的图标,尺寸为100x100,并且放置在cell左侧,可以这样编写:
运行该单元,效果如下:
除此之外,markdown还支持LaTex语法。你可以在markdown cell中按照LaTex语法规则写下方程式,然后直接运行,就可以看到结果。例如运行下面方程式:
$$\int_0^{+\infty} x^2 dx$$
运行后就得到了LaTex方程式:
导出功能
notebook另一个强大的功能就是导出功能。你可以把你的notebook(例如是个图解代码课程)导出为如下多种形式:
HTML
Markdown
ReST
PDF(Through LaTex)
Raw Python
如果导出成PDF格式,你甚至可以不使用LaTex就创建了一个漂亮的文档。或者,你可以将你的notebook保存为HTML格式,发布到个人网站上。你还可以导出成ReST格式,作为软件库的文档。
非本地内核
Jupyter notebook非常容易从本地电脑上启动,也允许多个人通过网络连接到同一个Jupyter实例。你是否注意到,在上一部分的教程中,启动Jupyter时出现了下面这条语句:
IPython Notebook运行在:http://localhost:8888/
这条语句表示你的notebook是本地运行,可以在浏览器中输入地址http://localhost:8888/,打开你的notebook。通过修改配置,可以让notebook面向公开访问。这样,任何人如果知道这个notebook地址,就通过浏览器可以远程访问并修改notebook。
结语
通过这两个部分的入门教程,我们知道了Jupyter notebook是一个非常强大的工具,允许使用者为数据分析、教育、文件等任何你可以想到的内容创建漂亮的交互式文档。
作者韭菜学院,更多信息请订阅公众号(youxuancaijing)优选财经
领取专属 10元无门槛券
私享最新 技术干货