十大魔术命令:Python中工作效率飙升之策

栏目: IT技术 · 发布时间: 5年前

内容简介:本文转载自公众号“读芯术”(ID:AI_Discovery)Python之所以能成为最通用的编程语言,与其集成新功能时的灵活性分不开。这就不得不提到魔术命令——添加到pythonshell的重要特性之一。python中的魔术命令到底是什么?

本文转载自公众号“读芯术”(ID:AI_Discovery)

Python之所以能成为最通用的编程语言,与其集成新功能时的灵活性分不开。这就不得不提到魔术命令——添加到pythonshell的重要特性之一。

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

十大魔术命令:Python中工作效率飙升之策

魔术命令是常规 python 代码的增强,通常以“%”字符为前缀。这些命令由IPython内核提供,基本上是为了解决常见问题而添加的,同时也为代码提供了一些快捷方式。

魔术命令有两种类型:%前缀和%%前缀。% 前缀表示命令在一行代码上操作,而%% 前缀允许命令在整个计算单元上操作。

下面是一些魔术命令及其实现,都在JupyterNotebook中执行。

运行外部文件

尝试在JupyterNotebook中运行一些代码片段时,希望运行位于某个目录中的外部代码文件。%运行允许从Jupyter Notebook运行任何外部python文件。

十大魔术命令:Python中工作效率飙升之策

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

十大魔术命令:Python中工作效率飙升之策

如果指定包含%run命令路径的文件名,它将执行该文件。

注:%运行也允许执行外部Jupyter Notebook。

代码执行时间

有没有想过运行计算单元需要多长时间?Time魔术命令允许跟踪计算单元的总执行情况。由于将在此处处理整个计算单元,因此使用%%作为time关键字之前的前缀。

十大魔术命令:Python中工作效率飙升之策

上面的计算单元包括一个带有随机计算的for循环。%%time有助于获得运行for循环所需的时间。

将内容复制到外部文件

大多数时候,有必要将内容直接从JupyterNotebook中添加到python脚本或文本文件中。可以直接通过在代码之前添加writefile命令来导出单元内容,而不是复制所有内容并创建一个新文件。

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

十大魔术命令:Python中工作效率飙升之策

因为已经用一些内容创建了这个文件,所以它显示了“OverwritemyCode.py”。指定它将用上面图像中显示的内容覆盖原始内容。

列出所有变量

这个魔术命令显示了整个notebook中使用的所有变量。以下是3个变量——2个字符串和1个整数。如果运行%who,它将列出定义的所有3个变量。

a = "hello" 
b = "Good Morning" 
c = 1 

十大魔术命令:Python中工作效率飙升之策

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

十大魔术命令:Python中工作效率飙升之策

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

在notebook之间共享变量

这个魔术命令允许在不同的JupyterNotebook之间共享任何变量。需要使用魔术命令传递原始变量。要获取该变量,需要传递带有“-r”参数的相同命令。

这是第一个notebook的样子:

十大魔术命令:Python中工作效率飙升之策

获取这些数据所需的代码写在另一个notebook里。

十大魔术命令:Python中工作效率飙升之策

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

显示外部文件的内容

通常需要将外部文件中的几行代码复制到代码中。%pycat允许在任何目录中显示任何文件的内容,而不是通过冗长的过程来获取文件并将其打开以进行复制。

十大魔术命令:Python中工作效率飙升之策

它将外部文件的所有内容显示为其输出。就其应用而言,可以看作是%writefile的反向。

执行html脚本

%% html允许在单元中编写html代码。现在,单元将充当一个html编辑器,输出单元的html。

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

%%html 
<html> 
<body> 
<table> 
        <tr> 
            <th>Name</th> 
            <th>Country</th> 
            <th>Age</th> 
        </tr> 
        <tr> 
            <td>Sid</td> 
            <td>India</td> 
            <td>22</td> 
        </tr> 
        <tr> 
            <td>Dave</td> 
            <td>UK</td> 
            <td>28</td> 
        </tr> 
</table> 
</body> 
</html> 

十大魔术命令:Python中工作效率飙升之策

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

显示Matplotlib图

%matplotlibinline魔术命令是最流行的命令。这个命令允许Jupyternotebook在notebook中显示matplotlib图形。这个命令激活matplotlib对Jupyter Notebook的交互式支持。

import random 
import matplotlib.pyplot as plt 
%matplotlib inline 

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

现在将创建两个随机列表来绘制图形:

a = [] 
b = [] 
for i in range(10): 
    a.append(random.randint(0,10)) 
    b.append(random.randint(0,10)) 

现在将绘制数据的散点图。

十大魔术命令:Python中工作效率飙升之策

%matplotlibinlin魔术命令允许在Jupyter Notebook中可视化图形。

设置环境变量

这个魔术命令可以做三件事——列出所有的环境变量,获取一个特定环境变量的值,并为一个变量设置一个值。

十大魔术命令:Python中工作效率飙升之策

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

十大魔术命令:Python中工作效率飙升之策

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

%env变量值:变量 将设置指定变量名的值。

对象的详细信息

%pinfo提供了与它一起传递的对象的详细信息。它与对象的功能相似。

在下面的代码片段中,传递了一个简单的字符串 a ,用%pinfo来获取它的详细信息。

a = "The World Makes Sense!" 
%pinfo a 

十大魔术命令:Python中工作效率飙升之策

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

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

十大魔术命令:Python中工作效率飙升之策

这就是提高工作效率,节省时间的十大魔术命令,希望能够帮助到你。

十大魔术命令:Python中工作效率飙升之策


以上所述就是小编给大家介绍的《十大魔术命令:Python中工作效率飙升之策》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Mechanics of Web Handling

The Mechanics of Web Handling

David R. Roisum

This unique book covers many aspects of web handling for manufacturing, converting, and printing. The book is applicable to any web including paper, film, foil, nonwovens, and textiles. The Mech......一起来看看 《The Mechanics of Web Handling》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具