Jupyter Notebook使用

注:本文中部分内容是 Python for Data Analysis (by Wes Mckinney) 一书的学习笔记。

接着上一篇文章,我们从 Anaconda 命令行打开 Jupyter Notebook,在浏览器中会看到类似下图的页面,下方还有文件夹或者文件的列表。

JupyterNotebook文件夹页面

点击图中箭头指示的【New】按钮,新建一个空白文档。

基本功能

打开新文档,我们看到如下界面: JupyterNotebook文档页面

图中标识了一些功能。其中,核心部分是编辑单元 (Cell),Jupyter Notebook 最大的特点就是交互式编程。那么,这是什么样的交互式呢?我们在一个单元里编写一小段代码,按【Ctrl】+【Enter】键就可以运行看到效果,而不是像之前一样要把整个程序写完、调试运行。在 Jupyter Notebook 中 ,每一段单元程序都可以马上看到效果和反馈,这一特点也让很多老师都采用它来编写教材、程序示例。就我自己的学习体会而言,这样更容易练习、同时也让学习更有趣。我们在图中所示的下拉列表中可以选择单元是代码还是标记(Markdown文档),标记(md 格式)可以用于写一些代码说明。

快捷键

  • 按【Ctrl】+【Enter】键:运行当前单元,编辑单元不变。

  • 按【Shift】+【Enter】键:运行当前单元,编辑单元跳转到下一单元(如果下方没有单元,会新建一个空白单元)。

  • 按【Alt】+【Enter】键:运行当前单元,同时在下方插入一个空白单元,编辑单元变为这个新单元。

运行 Python 文件

%run file1.py 与 Anaconda Promt 命令行中运行 python file1.py 效果相同。需要注意的是,file1.py 需在 Jupyter Notebook 或者当前命令行运行的文件夹中,如果不是,要在文件前加上文件路径。

输入自动完成:【Tab】键

对初学者来说,“输入就忘”真是令人头疼的一件事。因为刚学习,很多操作不太熟悉,想要输入一段代码,却想不起来关键函数,怎么办? 别急,Jupyter Notebook 非常贴心地提供了自动完成功能。

1.名字自动完成:输入头几个字母,按【Tab】键,会搜索之前输入过和系统自带的变量或函数的名字,并提供结果。 例如,先定义函数变量 l1 和 l2:

l1=1
l2=3

再输入l,按【Tab】键,会弹出如下图所示的选择框,开始的两个就是刚才定义的变量 l1, l2,接下来的 lambda, len, list 等等是系统自带的函数或者对象名。 变量名的输入自动完成

2.当我们定义了一个对象(object),比如列表型,字典型数据等,可以通过【Tab】键搜索到这个对象的所有函数和属性。 例如,定义一个字典型数据d1: d1={'a':1,'b':2,'c':3} 再输入d1.(注意这里有个.),按【Tab】键,会弹出如下图所示的选择框,这就是可用于字典型数据的所有操作。有时我们不确定某个函数能不能应用于当前数据类型,就可以通过这种方式查询。 object函数的输入自动完成

3.系统的工具库,可以用【Tab】键搜索到某个库的所有函数。 例如:引用 NumPy 工具包,然后输入np.,按【Tab】键,如下图所示,会弹出一个选择框,里面有大量函数,这里只展示前面几个。 工具包函数的输入自动完成

进一步地,在某个函数的变量定义时,输入变量名的头一个或几个字母,按【Tab】键,也会出现相应变量的列表,这在函数定义时很有帮助。比如有的函数定义的变量多,记不住,【Tab】键可以快速找到对应的变量。 例如,定义函数:

def func1(aaa=1,aab=2,abc=3,ccd=4):
    return aaa,aab,abc,ccd

在括号内按【Tab】键,会有一个下拉列表,如下图所示,其中就有函数的变量 aaa, aab, abc, 这里只列举了前几个。ccd 也在列表中。 函数定义中变量名的输入自动完成1

如果我们想要快速找到ccd这个变量,可以在括号内输入c,再按【Tab】键, 函数定义中变量名的输入自动完成2

4.文件路径,比如输入路径 E:/fileA/,按【Tab】键,在列表框中,除了显示一些Python库的基本函数之外,还会显示文件夹的文件路径。如果在输入时不记得文件具体的路径,可以用这种方法快速找到。结合前面介绍的 %run 命令,可以运行文件路径下的文件。

magic 语法

  • ?函数名:显示函数说明

  • ??函数名:显示函数说明和函数源代码

  • %run 文件名:(前面介绍过)在Jupyter Notebook中运行Python文件

  • %pwd :显示当前运行文件夹路径

参考教程

Python for Data Analysis by Wes Mckinney