持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第25天,点击查看活动详情
导语
jupyterlab是平时开发Python程序常用的快速调试的好工具,在其中有着很多方便的魔法函数(Magic Functions),本文记录几个常用到的魔法函数。
jupyterlab的安装
直接使用pip install进行安装即可。
pip install jupyterlab
之后,只要在命令行启动即可,这里讲两个注意的地方:
- 在没有图形化界面的服务器上启动时,可以指定--no-browser来避免启动图形化界面(没有图形化界面的服务器上启动了也没有,还会多占资源);
- 可以指定端口,如果默认端口被占用或者指定的需求需要特定端口。
jupyter lab --no-browser --port=18888
例如,以上命令就是不启动图形化界面,并指定端口为18888的启动方式。
魔法函数简介
jupyter lab中的魔法命令是IPython预先定义好的具备特定功能的函数它们共分为两类:
- 行魔法命令(line magic) : 前缀为"%",作用范围为一行代码。
- 单元格命令(cell magic) : 前缀为"%%",作用范围为一个单元格,且该单元格第一行必须是"%%"
常见魔法函数举例
%lsmagic函数
%lsmagic函数是用来列出所有魔法函数的魔法函数(有点绕哈)。一般情况下,如果我们想使用一个魔法函数,却忘记函数名如何写时,就可以使用%lsmagic来查询。
%timeit函数
%timeit用来统计某行代码的运行时间,这在评估代码的运行时间时特别有用。例如,我们对比两行代码的运行时间:
第一行代码计算幂次方操作:
%timeit y = [x**3 for x in range(1e4)]
第二行代码计算乘法:
%timeit y = [x*3 for x in range(int(1e4))]
上述输出结果中,loops代表这个命令被执行了多少次,以“平均值 +- 标准差”的形式展现运行时间的对比。
%pwd函数
%pwd函数即和Linux命令一致,打印当前的目录:
%%time
%%time是代码块命令,用于记录该cell运行的时间,例如:
%%time
num = [i for i in range(-1999, 99999)]
y = [x**3 for x in num]
运行结果如下:
%writefile命令
我们可以将某个单元格的运行结果保存到文件。这里需要使用魔法命令%%writefile。
例如:
%%writefile test.txt
print("Hello world.")
打开test.txt文件,内容就是刚刚我们输出的内容。
除了上面介绍的这些之外,jupyter lab还有很多其他的魔法函数,读者可以自行探索。