自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

十大魔術(shù)命令:Python中工作效率飆升之策

開發(fā) 后端
魔術(shù)命令是常規(guī)python代碼的增強(qiáng),通常以“%”字符為前綴。下面是一些魔術(shù)命令及其實(shí)現(xiàn),都在JupyterNotebook中執(zhí)行。

本文轉(zhuǎn)載自公眾號(hào)“讀芯術(shù)”(ID:AI_Discovery)

Python之所以能成為最通用的編程語(yǔ)言,與其集成新功能時(shí)的靈活性分不開。這就不得不提到魔術(shù)命令——添加到pythonshell的重要特性之一。

python中的魔術(shù)命令到底是什么?

[[324645]]

魔術(shù)命令是常規(guī)python代碼的增強(qiáng),通常以“%”字符為前綴。這些命令由IPython內(nèi)核提供,基本上是為了解決常見問題而添加的,同時(shí)也為代碼提供了一些快捷方式。

魔術(shù)命令有兩種類型:%前綴和%%前綴。% 前綴表示命令在一行代碼上操作,而%% 前綴允許命令在整個(gè)計(jì)算單元上操作。

下面是一些魔術(shù)命令及其實(shí)現(xiàn),都在JupyterNotebook中執(zhí)行。

運(yùn)行外部文件

嘗試在JupyterNotebook中運(yùn)行一些代碼片段時(shí),希望運(yùn)行位于某個(gè)目錄中的外部代碼文件。%運(yùn)行允許從Jupyter Notebook運(yùn)行任何外部python文件。

上面的文件myCode.py包含一個(gè)輸出上述語(yǔ)句的簡(jiǎn)單腳本。

如果指定包含%run命令路徑的文件名,它將執(zhí)行該文件。

注:%運(yùn)行也允許執(zhí)行外部Jupyter Notebook。

代碼執(zhí)行時(shí)間

有沒有想過運(yùn)行計(jì)算單元需要多長(zhǎng)時(shí)間?Time魔術(shù)命令允許跟蹤計(jì)算單元的總執(zhí)行情況。由于將在此處處理整個(gè)計(jì)算單元,因此使用%%作為time關(guān)鍵字之前的前綴。

上面的計(jì)算單元包括一個(gè)帶有隨機(jī)計(jì)算的for循環(huán)。%%time有助于獲得運(yùn)行for循環(huán)所需的時(shí)間。

將內(nèi)容復(fù)制到外部文件

大多數(shù)時(shí)候,有必要將內(nèi)容直接從JupyterNotebook中添加到python腳本或文本文件中??梢灾苯油ㄟ^在代碼之前添加writefile命令來(lái)導(dǎo)出單元內(nèi)容,而不是復(fù)制所有內(nèi)容并創(chuàng)建一個(gè)新文件。

注意,命令前面的double %表示將導(dǎo)出單元的全部?jī)?nèi)容。

因?yàn)橐呀?jīng)用一些內(nèi)容創(chuàng)建了這個(gè)文件,所以它顯示了“OverwritemyCode.py”。指定它將用上面圖像中顯示的內(nèi)容覆蓋原始內(nèi)容。

列出所有變量

這個(gè)魔術(shù)命令顯示了整個(gè)notebook中使用的所有變量。以下是3個(gè)變量——2個(gè)字符串和1個(gè)整數(shù)。如果運(yùn)行%who,它將列出定義的所有3個(gè)變量。

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

上面的代碼顯示了所有的變量,而與它們的數(shù)據(jù)類型無(wú)關(guān)。

為了顯示特定的數(shù)據(jù)類型變量,需要在魔術(shù)命令之后傳遞數(shù)據(jù)類型。上面的代碼將所有字符串?dāng)?shù)據(jù)類型變量顯示為其輸出。

在notebook之間共享變量

這個(gè)魔術(shù)命令允許在不同的JupyterNotebook之間共享任何變量。需要使用魔術(shù)命令傳遞原始變量。要獲取該變量,需要傳遞帶有“-r”參數(shù)的相同命令。

這是第一個(gè)notebook的樣子:

獲取這些數(shù)據(jù)所需的代碼寫在另一個(gè)notebook里。

這可能是在不同的notebook之間共享任何數(shù)據(jù)類型的數(shù)據(jù)的最簡(jiǎn)單的方法。

顯示外部文件的內(nèi)容

通常需要將外部文件中的幾行代碼復(fù)制到代碼中。%pycat允許在任何目錄中顯示任何文件的內(nèi)容,而不是通過冗長(zhǎng)的過程來(lái)獲取文件并將其打開以進(jìn)行復(fù)制。

 

它將外部文件的所有內(nèi)容顯示為其輸出。就其應(yīng)用而言,可以看作是%writefile的反向。

執(zhí)行html腳本

%% html允許在單元中編寫html代碼?,F(xiàn)在,單元將充當(dāng)一個(gè)html編輯器,輸出單元的html。

下面的代碼包含一個(gè)用html創(chuàng)建的簡(jiǎn)單表??梢宰⒁獾絟tml輸出顯示了預(yù)期的表。

  1. %%html 
  2. <html> 
  3. <body> 
  4. <table> 
  5.         <tr> 
  6.             <th>Name</th> 
  7.             <th>Country</th> 
  8.             <th>Age</th> 
  9.         </tr> 
  10.         <tr> 
  11.             <td>Sid</td> 
  12.             <td>India</td> 
  13.             <td>22</td> 
  14.         </tr> 
  15.         <tr> 
  16.             <td>Dave</td> 
  17.             <td>UK</td> 
  18.             <td>28</td> 
  19.         </tr> 
  20. </table> 
  21. </body> 
  22. </html> 

提示:可以使用類似于HTML魔術(shù)命令的%%jsmagic命令在單元中運(yùn)行Javascript代碼。

顯示Matplotlib圖

%matplotlibinline魔術(shù)命令是最流行的命令。這個(gè)命令允許Jupyternotebook在notebook中顯示matplotlib圖形。這個(gè)命令激活matplotlib對(duì)Jupyter Notebook的交互式支持。

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

已經(jīng)導(dǎo)入了一些需要解釋命令功能的庫(kù)。

現(xiàn)在將創(chuàng)建兩個(gè)隨機(jī)列表來(lái)繪制圖形:

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

現(xiàn)在將繪制數(shù)據(jù)的散點(diǎn)圖。

%matplotlibinlin魔術(shù)命令允許在Jupyter Notebook中可視化圖形。

設(shè)置環(huán)境變量

這個(gè)魔術(shù)命令可以做三件事——列出所有的環(huán)境變量,獲取一個(gè)特定環(huán)境變量的值,并為一個(gè)變量設(shè)置一個(gè)值。

不帶參數(shù)的%env將列出所有環(huán)境變量。

帶有單個(gè)參數(shù)的%env將返回指定參數(shù)的值。

%env變量值:變量 將設(shè)置指定變量名的值。

對(duì)象的詳細(xì)信息

%pinfo提供了與它一起傳遞的對(duì)象的詳細(xì)信息。它與對(duì)象的功能相似。

在下面的代碼片段中,傳遞了一個(gè)簡(jiǎn)單的字符串 a ,用%pinfo來(lái)獲取它的詳細(xì)信息。

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

在上面的輸出中,%pinfo提供了關(guān)于字符串對(duì)象的所有信息。

可以使用 %lsmagic 命令找到所有魔術(shù)命令列表。

這就是提高工作效率,節(jié)省時(shí)間的十大魔術(shù)命令,希望能夠幫助到你。

 

責(zé)任編輯:趙寧寧 來(lái)源: 讀芯術(shù)
相關(guān)推薦

2017-06-15 16:44:09

Node.js框架Web 應(yīng)用

2023-11-29 07:04:19

Git工作效率

2016-10-18 08:45:26

2025-03-31 00:05:00

2018-08-08 09:00:00

UNIXLinux命令

2023-10-13 12:56:23

工作效率VS Code技巧

2024-04-09 14:06:06

Git實(shí)用命令版本

2023-05-16 06:50:50

prompt郵件語(yǔ)法

2009-03-02 09:14:00

2021-01-12 15:17:40

命令Linux操作系統(tǒng)

2010-03-05 13:00:39

Ubuntu命令

2022-04-29 08:15:40

Python技巧Max

2020-07-10 06:10:14

Python開發(fā)代碼

2024-02-28 07:53:30

Redis數(shù)據(jù)存儲(chǔ)數(shù)據(jù)庫(kù)

2024-04-15 00:10:00

Redis數(shù)據(jù)庫(kù)

2022-09-20 15:43:58

Python工具包編程

2020-03-24 14:35:24

開源工具Joplin

2023-08-01 08:01:27

工具安全漏洞

2021-09-30 16:25:20

物聯(lián)網(wǎng)人工智能IoT

2021-12-10 08:39:50

SQLPLUS Oracle 數(shù)據(jù)庫(kù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)