首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >JupyterNotebook高级使用:常用魔法命令

JupyterNotebook高级使用:常用魔法命令

作者头像
阑梦清川
发布2025-02-24 14:11:08
发布2025-02-24 14:11:08
1750
举报
文章被收录于专栏:学习成长指南学习成长指南
代码语言:javascript
复制
%%writefile test.py
def Test(name):
    print("Test",name,"success")

运行结果:就是在我们的文件目录下面创建了这个test.py文件,主要是认识一下这个里面的%%writefile表示创建新的文件,这个文件里面的内容就是上面我们定义的函数;

下面的这个是%pycat表示打印输出我们的这个test.py文件里面的内容,和linux下面的这个读取文件的操作很相似;

代码语言:javascript
复制
%pycat test.py

下面的这个run开头表示的就是运行这个程序文件,Test里面的参数就是传递的实参,会调用文件里面的自定义函数,这个运行的结果就是打印输出函数内容:

代码语言:javascript
复制
%run test.py
Test("Jupyter")

输出结果:

下面的这个是另外一种实现的方式:import test表示导入模块,这个模块实际上就是我们上面创建的文件,test.Test表示调用这个test模块里面的这个Test自定义函数;

代码语言:javascript
复制
import test
test.Test("jupyter")

下面的这个同样是另外一个等价效果:导入test里面的Test函数,调用这个函数,传递参数,打印结果和上面的两个都是一样的;

代码语言:javascript
复制
from test import Test
Test("jupyter")

timeit这个方法是计算我们的程序运行耗时多少:计算x平方,从1到1000,

代码语言:javascript
复制
%timeit data = [x*x for x in range(1000)]

打印结果的意思就是平均值±标准差,运行7次的偏差,并且每个循环1000次,可以见得,这个是系统自动控制的;

上面的是一个百分号,下面的是两个百分号,一个表示的计算单行代码的好耗时,而下面的两个百分号表示这个程序的耗时,通常是一段代码,即多行代码,这个是和上面的一个区别;

代码语言:javascript
复制
%%timeit
import time
time.sleep(0.5)

下面的这个是打印的结果,含义和上面的是一样的:

下面的两个和上面的相比,就是把这个timeit换成了time,区别就是速度变快了,因为我们可以看见上面的这个是执行了很多次循环的,但是下面的这个就没有,所以时间很短;

代码语言:javascript
复制
%time data = [x*x for x in range(1000)]
代码语言:javascript
复制
%%time
import time
time.sleep(0.5)

下面的这个指令运行之后,会显示上面的所有变量,类似于这个matlab里面的工作区,效果如下:

代码语言:javascript
复制
%whos

效果:显示上面用到的所有的变量;

对于类似%whos这样的命令有很多,我们可以使用lsmagic进行查看,

可以使用%magic查看他们的详细用法:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-02-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档