JupyterNotebook高级使用:常用魔法命令
%%writefile test.py
def Test(name):
print("Test",name,"success")
运行结果:就是在我们的文件目录下面创建了这个test.py文件,主要是认识一下这个里面的%%writefile表示创建新的文件,这个文件里面的内容就是上面我们定义的函数;
下面的这个是%pycat表示打印输出我们的这个test.py文件里面的内容,和linux下面的这个读取文件的操作很相似;
%pycat test.py
下面的这个run开头表示的就是运行这个程序文件,Test里面的参数就是传递的实参,会调用文件里面的自定义函数,这个运行的结果就是打印输出函数内容:
%run test.py
Test("Jupyter")
输出结果:
下面的这个是另外一种实现的方式:import test表示导入模块,这个模块实际上就是我们上面创建的文件,test.Test表示调用这个test模块里面的这个Test自定义函数;
import test
test.Test("jupyter")
下面的这个同样是另外一个等价效果:导入test里面的Test函数,调用这个函数,传递参数,打印结果和上面的两个都是一样的;
from test import Test
Test("jupyter")
timeit这个方法是计算我们的程序运行耗时多少:计算x平方,从1到1000,
%timeit data = [x*x for x in range(1000)]
打印结果的意思就是平均值±标准差,运行7次的偏差,并且每个循环1000次,可以见得,这个是系统自动控制的;
上面的是一个百分号,下面的是两个百分号,一个表示的计算单行代码的好耗时,而下面的两个百分号表示这个程序的耗时,通常是一段代码,即多行代码,这个是和上面的一个区别;
%%timeit
import time
time.sleep(0.5)
下面的这个是打印的结果,含义和上面的是一样的:
下面的两个和上面的相比,就是把这个timeit换成了time,区别就是速度变快了,因为我们可以看见上面的这个是执行了很多次循环的,但是下面的这个就没有,所以时间很短;
%time data = [x*x for x in range(1000)]
%%time
import time
time.sleep(0.5)
下面的这个指令运行之后,会显示上面的所有变量,类似于这个matlab里面的工作区,效果如下:
%whos
效果:显示上面用到的所有的变量;
对于类似%whos这样的命令有很多,我们可以使用lsmagic进行查看,
可以使用%magic查看他们的详细用法: