作者:Arno
审稿:童蒙
编辑:amethyst
魔法函数介绍
所谓jupyter-lab的魔法函数, 实际上是jupyter-lab所使用的Python的内核—Ipython,预先定义好的具备特定功能的函数被放到Jupyter中使用,这其实是Ipython特有的函数,并不是Python的内置函数。因此,脱离Ipython的使用环境后,比如再使用Pycharm或Python自带的IDLE等其他python的开发环境时,这些函数是无法被解析运行的。所以,在jupyter中使用魔法函数也是jupyter中亮眼的一大特征。
闲话少说,接下来我们就来看一下有哪些好用的魔法函数。首先魔法函数的调用方法是以%或%%开头的,例如%pwd等调用Ipython中的pwd命令,固定写法,记住即可。
%Ismagic函数可以列出所有magics命令,可以看出总共包含两大类,针对于行使用的line magics和针对于于单元格使用的cell magics。其中所有的line magics以%调用,而所有的cell magics以%%调用,应当放于cell的首行使用。
%quickref函数可以列出所有魔法函数的简单帮助文档,%magic可以输出所有魔法函数详细的帮助文档,如果想查看具体某一个魔法函数的详细帮助文档,可以直接在调用魔法函数时再后边跟上?即可,如:
常用魔法函数
下面为大家介绍一些常用的魔法函数,关于其他的一些魔法函数大家可以按照上面的方面查看帮助文档学习即可。
- %pwd %cd 显示当前工作目录,且更换工作目录
- %time 计算当前代码运行时长;%timeit 计算当前代码行的平均运行时长;%%timeit 计算当前cell的代码运行时长
-
%run 运行外部python脚本;%load 载入外部脚本到当前
-
%history(%hist)列出历史输入的指令,类似于linux的history命令;%dhist输出历史访问目录
-
%who 显示当前Jupyter环境中的所有变量或名称;%reset 删除当前Jupyter环境中的所有变量或名称
%%writefile:将cell中的内容输出到目标文件;%notebook:写入notebook的ipynb文档
- %matplotlib inline:效果等价于plt.show()
- %conda:cell中安装package; %pip:在cell中使用pip指令
- 一些魔法函数可以实现一些linux系统的命令,如%pycat:预览文件,类似linux中cat;%less,类似linux的less命令;类似的还有%more,%mkdir,%rmdir,%echo,%env,%alias等实现linux系统的命令
总结
以上为一些常用的魔法函数,可以有效的提升我们编写代码文档的效率, 每个魔法函数都有其参数,可以具体的查看魔法函数的帮助文档进行学习。