首頁 > Python教程 > Python應用 > Python教程:這十大魔術命令可助你提高生產力

Python教程:這十大魔術命令可助你提高生產力

時間:2020-04-16    來源:站長之家

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爬取B站5000 條視頻,揭秘為何千萬人為它流淚!
Python教程:如何用xlrd和xlwt庫讀和寫Excel表格?
Python安裝MySQL-python:EnvironmentError的解決辦法
分享:Python2和Python3有那些差異?
Python正在吞噬世界:它為何會贏又將走向何方?
Python 的內置對象都藏了哪些小秘密?
實戰干貨!用案例讓你一文搞懂python網絡爬蟲
Python教程:圖像處理模塊ndimage用法實例分析
Python教程:代理IP爬蟲的使用方法
Python教程:如何使用scipy模塊實現一維卷積運算示例?
Python:關于內存分配時的那些小秘密分享
python技巧:global關鍵字的用法詳解
Python教程:深入了解python在HDA中的應用
python技巧:SSLerror的requests證書問題解決方法
PyCharm教程:搭建Spark開發環境的幾個步驟
分享:Django Admin中增加導出CSV功能過程詳解
Python開發技巧:openpyxl讀取單元格字體顏色過程解析
Python教程:面向對象之Web靜態服務器
Python教程:如何為終端提供持久性歷史記錄
Python技巧分享:自動登錄淘寶并保存登錄信息的方法
Python數據分析:利用Flask動態展示 Pyecharts 圖表數據方法
python3教程:如何搭建微型的web服務器?
python技巧:xlwt如何設置單元格的自定義背景顏色
Python開發:Django中間件攔截未登錄url實例詳解
如何解決Python字符串和正則表達式中的反斜杠('\')問題?
Python開發技巧:編寫一個簡單登錄功能過程解析
Python編程:postman傳遞當前時間戳實例詳解
Python爬蟲教程:使用beautifulSoup4爬取名言網案例代碼分享
python開發:動態遷移solr數據過程分享
python數據分析:用線性回歸預測股票價格的代碼分析
Python教程:數據分析模塊pandas用法詳解
Python3教程:pandas.merge用法詳解
Python爬蟲案例:如何爬取豆瓣電影信息?附代碼實例
python開發:如何編寫簡單端口掃描器?
Django框架教程:Pagination分頁實現代碼實例
python爬蟲實例:貓眼電影和電影天堂數據csv和mysql存儲過程

精彩推薦

熱門教程

上海时时乐奇偶