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

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

创新互联建站长期为上千多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为大祥企业提供专业的成都网站设计、做网站,大祥网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。

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

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

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

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

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

运行外部文件

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

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

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

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

代码执行时间

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

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

将内容复制到外部文件

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

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

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

列出所有变量

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

 
 
 
 
  1. a = "hello" 
  2. b = "Good Morning" 
  3. c = 1 

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

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

在notebook之间共享变量

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

这是第一个notebook的样子:

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

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

显示外部文件的内容

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

 

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

执行html脚本

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

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

 
 
 
 
  1. %%html 
  2.  
  3.  
  4.  
  5.         
  6.  
  7.             
  8.  
  9.             
  10.  
  11.             
  12.  
  13.         
  14.  
  15.         
  16.  
  17.             
  18.  
  19.             
  20.  
  21.             
  22.  
  23.         
  24.  
  25.         
  26.  
  27.             
  28.  
  29.             
  30.  
  31.             
  32.  
  33.         
  34.  
  35. Name Country Age
    Sid India 22
    Dave UK 28
     
  36.  
  37.  

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

显示Matplotlib图

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

 
 
 
 
  1. import random 
  2. import matplotlib.pyplot as plt 
  3. %matplotlib inline 

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

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

 
 
 
 
  1. a = [] 
  2. b = [] 
  3. for i in range(10): 
  4.     a.append(random.randint(0,10)) 
  5.     b.append(random.randint(0,10)) 

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

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

设置环境变量

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

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

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

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

对象的详细信息

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

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

 
 
 
 
  1. a = "The World Makes Sense!" 
  2. %pinfo a 

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

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

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

本文标题:十大魔术命令:Python中工作效率飙升之策
网页URL:http://www.36103.cn/qtweb/news1/9201.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联