Python教程:這十大魔術命令可助你提高生產力
時間:2020-04-16 來源:站長之家Python不僅是最如今最通用的編程語言,而且在集成新功能時也是最靈活的,比如魔術命令(Magic commands)就是python shell當中重要的功能之一。以下我們來看下10個簡單的魔術命令是如何幫助工程師提高生產力。
python中的魔術命令到底是什么?
魔術命令是對常規python代碼的增強,這些命令由IPython內核提供。同時這些魔術命令通常以“%”字符作為前綴。
這些命令基本上是為解決我們面臨的常見問題而添加的,并且也是為程序員的代碼提供了一些快捷方式。目前有2種魔術命令可用-%前綴和%%前綴。
%前綴表示該命令在一行代碼上運行,而%%前綴允許該命令在整個單元格上運行
以下是jupyter notebook中執行的魔術命令及其實現的列表
運行外部文件
當我們嘗試在jupyter notebook中運行一些代碼段時,我們希望運行位于某個目錄中的外部代碼文件。
%run允許你從jupyter Notebook運行任何外部python文件
上面的文件myCode.py包含一個輸出上述語句的簡單腳本。
如果我們指定文件名(包括%run命令的路徑),它將執行該文件。
注意:%run還允許執行外部jupyter Notebook。
代碼執行時間
你有沒有考慮過你的代碼需要多少時間才能運行?使用時間魔術命令可以追蹤單元的總體執行情況。由于我們將在此處處理整個單元格,因此我們將%%作為時間關鍵字之前的前綴。
上面的單元格包含一個帶隨機計算的for循環。
%% time有助于獲取運行for循環所需的執行時間。
將內容復制到外部文件
大多數的時候,你會覺得需要直接從jupyter notebook上將內容添加到python腳本或文本文件中。你無需復制所有內容并創建新文件,而可以通過在代碼之前添加writefile命令直接導出單元格內容。
請注意命令前的%%,表示將導出單元格的全部內容。
由于我已經創建了包含某些內容的文件,因此它將顯示“Overwrite myCode.py”,指定它將用上圖所示的內容覆蓋我的原始內容。
顯示外部文件的內容
通常你會將需要的幾行代碼從外部文件復制到你的代碼中
%pycat允許你顯示任何目錄中任何文件的內容,且無需花費很長時間來獲取文件并打開文件進行復制。
它可以將外部文件的所有內容作為其輸出,從實際應用來說,可以將它視為%writefile的反向邏輯。
列出所有變量
這個魔術命令顯示整個jupyter notebook中使用的所有變量。
以下是3個變量——2個字符串和1個整數。 如果我們運行%who,它將列出我們定義的所有3個變量。
上面的代碼顯示所有變量,而與它們的數據類型無關。
為了顯示特定的數據類型變量,我們需要在魔術命令之后傳遞數據類型。上面的代碼顯示所有字符串數據類型變量作為其輸出。
在筆記本之間共享變量
這個魔術命令使你可以在不同的jupyter notebooks之間共享任何變量。你需要使用魔術命令傳遞原始變量。
為了檢索變量,你需要傳遞帶有'-r'參數的相同命令。
這是第一個筆記本的樣子
然后在另一個筆記本中寫檢索此數據所需的代碼
這可能是在不同筆記本之間共享任何數據類型的數據的最簡單方法。
執行HTML腳本
%% html允許我們在單元格中編寫html代碼, 即該單元格將用作本單元格的html輸出的編輯器。
以下代碼包含一個用html創建的簡單表。你會注意到html輸出顯示了預期的表格。
提示:你可以使用類似于HTML魔術命令的%% js magic命令在單元格中運行Javascript代碼。
顯示Matplotlib視圖
%matplotlib內鏈魔術命令是最流行的命令。此命令允許Jupyter notebook在筆記本中顯示matplotlib視圖。此命令激活對jupyter notebook的matplotlib交互式支持。
我們已經導入了一些我們需要用來解釋命令功能的庫。
現在,我們將創建兩個隨機列表制作成圖標
現在,我們將繪制數據的散點圖
%matplotlib內鏈魔術命令使你可以可視化jupyter notebook本中的圖形。
設置環境變量
這一魔術命令可以幫助你達成3件事情:
1、列出所有環境變量
2、獲取特定環境變量的值,
3、為變量賦值
沒有參數的%env將列出所有環境變量。
具有單個參數的%env將返回指定參數的值。
“%env變量值”將設置指定變量名稱的值。
對象詳細信息
%pinfo提供了有關隨其一起傳遞的對象的詳細信息。
在以下代碼段中,我傳遞了一個簡單的字符串“a”以及%pinfo以獲取有關它的詳細信息。
從上面的輸出中,%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存儲過程