首页 > 优化 > 关键词 > 原创外文最新资讯 > 正文

Python十大魔术命令可助你提高生产力

2020-04-15 15:18 · 稿源:站长之家
文章目录

站长之家注:Python不仅是最如今最通用的编程语言,而且在集成新功能时也是最灵活的,比如魔术命令(Magic commands)就是python shell当中重要的功能之一。以下我们来看下10个简单的魔术命令是如何帮助工程师提高生产力。

程序员 代码 黑客

python中的魔术命令到底是什么?

魔术命令是对常规python代码的增强,这些命令由IPython内核提供。同时这些魔术命令通常以“%”字符作为前缀。

这些命令基本上是为解决我们面临的常见问题而添加的,并且也是为程序员的代码提供了一些快捷方式。目前有2种魔术命令可用-%前缀和%%前缀。

%前缀表示该命令在一行代码上运行,而%%前缀允许该命令在整个单元格上运行

以下是jupyter notebook中执行的魔术命令及其实现的列表

运行外部文件

当我们尝试在jupyter notebook中运行一些代码段时,我们希望运行位于某个目录中的外部代码文件。

%run允许你从jupyter Notebook运行任何外部python文件

1.jpg

上面的文件myCode.py包含一个输出上述语句的简单脚本。

2.jpg

如果我们指定文件名(包括%run命令的路径),它将执行该文件。

注意:%run还允许执行外部jupyter Notebook。

代码执行时间

你有没有考虑过你的代码需要多少时间才能运行?使用时间魔术命令可以追踪单元的总体执行情况。由于我们将在此处处理整个单元格,因此我们将%%作为时间关键字之前的前缀。

3.jpg

上面的单元格包含一个带随机计算的for循环。

%% time有助于获取运行for循环所需的执行时间。

将内容复制到外部文件

大多数的时候,你会觉得需要直接从jupyter notebook上将内容添加到python脚本或文本文件中。你无需复制所有内容并创建新文件,而可以通过在代码之前添加writefile命令直接导出单元格内容。

请注意命令前的%%,表示将导出单元格的全部内容。

4.jpg

由于我已经创建了包含某些内容的文件,因此它将显示“Overwrite myCode.py”,指定它将用上图所示的内容覆盖我的原始内容。

显示外部文件的内容

通常你会将需要的几行代码从外部文件复制到你的代码中

5.jpg

%pycat允许你显示任何目录中任何文件的内容,且无需花费很长时间来获取文件并打开文件进行复制。

它可以将外部文件的所有内容作为其输出,从实际应用来说,可以将它视为%writefile的反向逻辑。

列出所有变量

这个魔术命令显示整个jupyter notebook中使用的所有变量。

以下是3个变量——2个字符串和1个整数。 如果我们运行%who,它将列出我们定义的所有3个变量。

6.jpg

7.jpg

上面的代码显示所有变量,而与它们的数据类型无关。

8.jpg

为了显示特定的数据类型变量,我们需要在魔术命令之后传递数据类型。上面的代码显示所有字符串数据类型变量作为其输出。

在笔记本之间共享变量

这个魔术命令使你可以在不同的jupyter notebooks之间共享任何变量。你需要使用魔术命令传递原始变量。

为了检索变量,你需要传递带有'-r'参数的相同命令。

这是第一个笔记本的样子

9.jpg

然后在另一个笔记本中写检索此数据所需的代码

10.jpg

这可能是在不同笔记本之间共享任何数据类型的数据的最简单方法。

执行HTML脚本

%% html允许我们在单元格中编写html代码, 即该单元格将用作本单元格的html输出的编辑器。

以下代码包含一个用html创建的简单表。你会注意到html输出显示了预期的表格。

11.jpg

12.jpg

提示:你可以使用类似于HTML魔术命令的%% js magic命令在单元格中运行Javascript代码。

显示Matplotlib视图

%matplotlib内链魔术命令是最流行的命令。此命令允许Jupyter notebook在笔记本中显示matplotlib视图。此命令激活对jupyter notebook的matplotlib交互式支持。

13.jpg

我们已经导入了一些我们需要用来解释命令功能的库。

现在,我们将创建两个随机列表制作成图标

14.jpg

现在,我们将绘制数据的散点图

15.jpg

16.jpg

%matplotlib内链魔术命令使你可以可视化jupyter notebook本中的图形。

设置环境变量

这一魔术命令可以帮助你达成3件事情:

1、列出所有环境变量

2、获取特定环境变量的值,

3、为变量赋值

1.jpg

没有参数的%env将列出所有环境变量。

2.jpg

具有单个参数的%env将返回指定参数的值。

“%env变量值”将设置指定变量名称的值。

对象详细信息

%pinfo提供了有关随其一起传递的对象的详细信息。

在以下代码段中,我传递了一个简单的字符串“a”以及%pinfo以获取有关它的详细信息。

3.jpg

4.jpg

从上面的输出中,%pinfo提供有关字符串对象的所有信息。

你可以使用“%lsmagic”命令找到所有魔术命令列表。

这些是我的十大魔术命令,希望能帮助你提高生产力并节省时间。

注:本文编译自medium,作者Siddhesh Jadhav,原文标题为Top 10 Magic Commands in Python to Boost your Productivity

网友热搜:

  • 相关推荐
  • 大家在看
  • Python取代Excel?风变编程带你了解如何更好地学Python!

    当前最简单、最流行的编程语言是什么?是Python。最近,谷歌公布的编程语言流行指数显示,Python目前仍然是全球范围内最受欢迎的技术语言。而得益于简洁、易读、易维护等特点,Python可广泛运用于数据分析、人工智能、爬虫、运维、测试、图像识别、机器学习等领域,在日常数据分析方面,甚至已有“Python取代Excel”的说法。那么,Python是否真的有这么牛?接下来,风变编程就带你了解一波。“Python已经取代了Excel”今年3月,日?

  • Python 和 Go 成为年度最受欢迎的黑客工具榜首

    网络安全公司 Imperva Cloud WAF 近期分享了其在 2019 年一年内针对网络安全事件的观察。对数据进行聚类分析后,他们得到了如下结论:

  • 报告:JavaScript为最常用整体编程语言 Python超过Java

    在过去的 12 个月中,Python在使用的编程语言列表中已经超过了Java,它也是被研究最多的语言。报告称,在过去的 12 个月里,30%的受访者开始或继续学习Python,甚至比去年还要多。

  • 云计算开发学习笔记:Python3注释

    <p>大家在学习各种编程语言的时候都会在代码里面添加一些注释,这个也是为了方便日后对代码的查找和修改,各种编程语言的注释方式略有不同,Python3语言也一样有自己的注释方式,下面我们来了解一下都有哪几种。</p><p>确保对模块

  • 云计算开发学习笔记:Python3运算符

    首先我们来了解下什么是Python的运算符? 举个简单的例子 3+6=9 。例子中,3和6被称为操作数,"+" 称为运算符。Python中的运算符大部分与C语言的类似,但也有很多不同的地方。这里就大概地罗列一下Python3中的运算符。Python语言支持的运算符类型有以下几种:算术运算符,比较运算符,赋值运算符,逻辑运算符,位运算符,成员运算符,身份运算符,运算符优先级。Python算术运算符以下假设变量a为10,变量b为21:Python比

  • Java已被超越?Python当道,风变编程带你化身编程高手

    在程序员中,一直流传着“Python除了不会生孩子,什么都会”的传说。作为人工智能时代最重要的脚本语言之一,Python现在已经逐步占领统计学、机器学习、爬虫、图形处理、软件和游戏开发、人工智能等多个领域,且都有突出表现。可以说,在众多编程语言中,python如今已经杀出重围,从容超越Java和Javascript,化身程序员必备的编程利器之一。目前,国内外许多公司都已使用Python,如:YouTube、豆瓣、知乎、Google、百度、腾讯、美?

  • 周鸿祎调侃潘石屹学python:他写的估计一百行里有十个漏洞

    在 6 月 20 日极客公园联合bilibili举办的Rebuild2020的对话中,360董事长周鸿祎谈到漏洞不可避免的原因称,一是人写代码的技术漏洞,二是违背安全规则的人性漏洞。

  • 云计算开发学习笔记:Python3身份运算符实例

    身份运算符用于比较两个对象的内存地址是否一致,是否是对同一个对象的引用。注: id() 函数用于获取对象内存地址。以下实例演示了Python所有身份运算符的操作:以上实例输出结果:解析:身份运算符is 用于判断两个变量引用对象是否为同一个(同一块内存空间),比较运算符的 == 用于判断引用变量的值是否相等。以上内容为Python3身份运算符实例。

  • 云计算开发学习笔记:Python3位运算符实例

    在Python中,位运算符包括位与(&)、位或(|)、位求反(~)、位异或(^)、左移位()。Python中的按位运算法则如下:下表中变量 a 为 60,b 为 13二进制格式如下:在了解了位运算符后,再来看看实例演示中Python所有位运算符的操作:输出结果如下图:了解更多可以查看Python3全部的运算符《Python3运算符》。解析:位运算符只能适用于整数,其总体运算规则为:首先把整数转换为二进制表示形式,按最低位对齐,短的高位补0,然?

  • “Python之窗”百家号有什么作用?企业品牌必须知道的推广渠道

    备注:本文数据来自站长之家移动传媒平台,文章涉及的数据依托平台大数据计算所得,非百度官方数据,仅供参考。Python之窗是当前百家号中的普通号,目前账号百家号权重为2,综合排名位列784779名,科技分类排名位列36763名,领先了29.7%的百家号。 Python之窗百家号概况 Python之窗的简介为专注于Python相关知识分享,是一家主旨明确、领域专注的自媒体作者,截止目前为止他们已经在百家号上发布了超过7篇的游戏内容,最近该作者创

  • 云计算开发学习笔记:Python3逻辑运算符实例

    Python逻辑运算符由and or not组成,按照优先级依次为:() not and or。首先假设变量 a 为 10,b为 20,看下表:在了解了逻辑运算符后,再来看看实例演示中Python所有逻辑运算符的操作:输出结果如下图:了解更多可以查看Python3全部的运算符《Python3运算符》。解析:按照从左向由,优先级高的先执行优先级高的规则,首先因为比较运算符优先级高于逻辑运算符,很简单,如果运算符低于了逻辑运算符优先级那还如何运算呢。and 优先

  • TypeScript 热度超 C 与 Python、Go 开发收入高、运维吃香,调查了 65000 名开发者有这些发现!

    近十年来,Stack Overflow的年度开发者调查问卷被誉为全球范围内最大的开发者调查。为了寻求多样化的代表,Stack Overflow的官方将调查问卷从技术和行为等方面提出了各类问题,希望收集的信息能够帮助改善Stack Overflow开发者的社区。

  • TheShy正式入驻快手 theshy快手账号是多少

    6月10日,IG战队正式宣布上单选手TheShy入驻快手,同时也公布了theshy在快手平台的账号ID,对于喜欢theshy的选手,可以前往快手来关注他的动态啦。

  • GitHub将替换master、slave等术语 反对种族歧视

    DoNews 6月15日消息(记者 刘文轩)GitHub CEO Nat Friedman在Twitter表示,GitHub将使用中性词如“main”去替换“master”这个让人联想到奴隶制的术语。GitHub 成为最新一个支持移除可能冒犯部分群体的术语的公司。包括“master”和“slave”将被替换为“main/default/primary”和“secondary”,“whitelist”和“blacklist”将被替换为“allow list”和“deny/exclude list”。最近几周,由于“Black Lives Matter”的抗议活动?

  • 欧科云链OKLink行业观察:ETH矿工或将开启大迁徙

    6 月 23 日,以太坊官方博客更新其开发进度,Altona v0.12 测试网预计将在下周启动。这也就意味着,在经过探讨和不断的改进后,以太坊开发团队终于将启动第一个公开的、多客户端测试网络。 与目前的多客户端测试网类似,Altona更像是一个开发者网络,而不是一个以终端用户为中心的测试网。也就是说,Altona首先是让客户端团队在产品设置中检查v0. 12 软件,同时让ETH2. 0 开发者作为一个整体来解决可能只在多客户端设置中出现的bu

  • GitHub将替换掉 master 等术语 以避免联想到奴隶制

    近日代码托管平台GitHub CEO Nat Friedman公开表示,该公司将使用中性词如“main”替换“master”一词,避免让人联想到奴隶制的术语。

  • 谷歌证实已收购加拿大AR眼镜制造商North

    【TechWeb】7月1日消息,据国外媒体报道,当地时周二,谷歌证实,它已经收购了加拿大增强现实(AR)眼镜制造商North。该公司并未披露收购价格,但此前的报道显示收购价在1.8亿美元左右。此前,外媒曾报道称,谷歌母公司Alphabet正在就以1.8亿美元价格收购North进行深入谈判,该公司将此次收购视为以最少的投入或现金重新进入消费者智能眼镜市场的简单途径。与此同时,North还宣布,将逐步停产Focals 1.0 AR眼镜,且升级版Focals 2

  • 通过这个方法,他3个月内从GitHub赚了56万元

    Caleb Porzio(卡莱布·波齐奥)是一名开发人员,曾在一家名为Tighten的软件公司就职。当时,波齐奥的年收入约为 9 万美元:开发人员的薪水变化非常大,但波齐奥的年收入基本稳定在 9 万美元左右,再加上他妻子的收入和一些额外的收入,存一笔钱以备不时之需已经足够。

  • OKEx早报:西班牙银行开始“冻卡”,ETH 手续费事件“破案”

    OKEx早报将在每日早间为您带来最新的行情,以及相关行业动态。帮助投资人在最短的时间内了解夜间的动态消息,更好的握把每日行情。行情速递6月18日讯,昨日晚间BTC出现一轮下滑幅度接近200美元,通过OKEx平台交易数据可以看出,BTC今日开盘报9384.31美元,开盘后横盘整理,至3:25开始出现下滑,4:05时到达早间最低点9232.53美元,随后出现反弹行情,至7:45触及早间高点9461.87美元,截止发稿BTC报9423.58美元。图片来源:OKEx平

  • OKEx早报:西班牙银行开始“冻卡”,ETH手续费事件“破案”

    OKEx早报将在每日早间为您带来最新的行情,以及相关行业动态。帮助投资人在最短的时间内了解夜间的动态消息,更好的握把每日行情。 行情速递 6 月 18 日讯,昨日晚间BTC出现一轮下滑幅度接近 200 美元,通过OKEx平台交易数据可以看出,BTC今日开盘报9384. 31 美元,开盘后横盘整理,至3: 25 开始出现下滑,4: 05 时到达早间最低点9232. 53 美元,随后出现反弹行情,至7: 45 触及早间高点9461. 87 美元,截止发稿BTC报9423. 58

  • 参与评论
文明上网理性发言,请遵守新闻评论服务协议

热文

  • 3 天
  • 7天