在财码的系列课程中,一直都是使用Jupyter Notebook作为Python的开发环境。在其他渠道接触过Python的可能知道另一款软件PyCharm。那么Jupyter Notebook和PyCharm有什么区别呢?财码课程中为什么一直推荐前者进行教学演示呢?Jupyter Notebook还有哪些使用窍门?在本篇文章中,将为您解答。

为什么推荐Jupyter Notebook?

首先,PyCharm也是一款非常实用的IDE,在调试、项目管理、智能提示、自动完成、单元测试、版本控制等方面非常友好,但是依然有些不足之处:

  • 脚本文件必须一次性全部运行的。虽然可以使用debug功能打断点,但是如果发现一小部分出错还是需要重新全部运行。对于初学者来说略显繁琐(比如代码中间的某一句需要反复尝试不同的写法的效果,如果每次尝试都要从头到尾全部运行,效率太低了)。
  • Pandas表格等以纯数字显示,调试中间很容易看错行。
  • Matplotlib、Pyecharts等可视化库绘制的图片无法直接显示。
  • 没有富文本编辑,没有标题和代码介绍,只能通过注释的写说明,降低了代码的可理解性和阅读性。

而Jupyter Notebook能够完美解决上述问题,因此非常适合初学者使用。

Jupyter Notebook基本介绍

Jupyter Notebook通过浏览器来使用,创建的文件后缀名为.ipynb。

在浏览器中打开 Jupyter Notebook 后,URL类似于https://localhost:8888/tree。注意Localhost不是某个网站,而是表示您的“本地计算机”。(虽然 Jupyter Notebooks 在浏览器中打开,但它被托管并在你的本地计算机上运行,因此放心你的文件并不会暴露在网络上)

ipynb文件的编辑界面如下:

可以看到,ipynb文件是由块(cell)组成的,每个cell可以单独编辑代码并运行。cell由四种类型:代码(code)、文档(markdown)、纯文本(Raw NBConvert)、标题(也是markdown格式)。

代码(code)

代码块支持高亮、缩进、Tab补全等基础功能。输出部分,可以渲染出DataFrame表格、可交互的PyeCharts图形、Matplotlib图片等。

文档(markdown)

文档块支持Markdown语法,可以进行简单的富文本编辑和多媒体插入,同时也可以输入数学公式

上述富文本运行之后的效果

你可以自由插入代码块和文档块,形成交错易于解释说明,同时也可自由控制代码运行顺序,环境启动后运行的代码块中保留的变量不会被删除,可以跨代码块在其他块中使用。(因为变量是跨代码块使用的,因此,如果两个代码块对同一个变量名进行赋值,那么后运行的代码块中的变量值将会保留,而不取决于代码块本身在Jupyter Notebook文件中的位置,关键是运行代码块的顺序)

Jupyter Notebook 基础操作

文件列表页面

编辑页面

可以点击文件名进行文件的重命名,可以通过菜单栏和功能区进行一些操作。就基础操作而言,用户可以使用功能区的+按钮添加单元格,使用运行按钮执行代码块,使用下拉栏调整代码块的类型。

常用快捷键

  • Shift+Enter:运行本单元格并选中下个单元格
  • Ctrl+Enter:运行本单元格
  • Alt+Enter:运行本单元格并在下方插入新单元格
  • Tab:缩进 / 代码补全
  • Shift+Tab:查看工具提示/取消缩进
  • Ctrl+]:缩进
  • Ctrl+[:取消缩进
  • Ctrl+/:注释当前行 / 选中内容
  • Ctrl+Z:撤销
  • Ctrl+Y:重做
  • Ctrl+A:全选
  • Ctrl+S:保存

更换主题

Jupyter Notebook默认主题为浅色主题,虽然文字显示清晰,但长时间使用可能对眼睛刺激较大。我们可以借用Jupyterthemes插件来为Notebook更换合适的主题。

首先在CMD输入 pip install jupyterthemes 安装Jupyterthemes:

安装好后,在CMD 输入 jt -l  (注意是字母l)可以查询到所有可用的主题列表

选择你想要的进行安装即可,比如 jt -t chesterish