作者:Arno
審稿:童蒙
編輯:amethyst
魔法函數(shù)介紹
所謂jupyter-lab的魔法函數(shù), 實(shí)際上是jupyter-lab所使用的Python的內(nèi)核—Ipython,預(yù)先定義好的具備特定功能的函數(shù)被放到Jupyter中使用,這其實(shí)是Ipython特有的函數(shù),并不是Python的內(nèi)置函數(shù)。因此,脫離Ipython的使用環(huán)境后,比如再使用Pycharm或Python自帶的IDLE等其他python的開(kāi)發(fā)環(huán)境時(shí),這些函數(shù)是無(wú)法被解析運(yùn)行的。所以,在jupyter中使用魔法函數(shù)也是jupyter中亮眼的一大特征。
閑話少說(shuō),接下來(lái)我們就來(lái)看一下有哪些好用的魔法函數(shù)。首先魔法函數(shù)的調(diào)用方法是以%或%%開(kāi)頭的,例如%pwd等調(diào)用Ipython中的pwd命令,固定寫(xiě)法,記住即可。
%Ismagic函數(shù)可以列出所有magics命令,可以看出總共包含兩大類,針對(duì)于行使用的line magics和針對(duì)于于單元格使用的cell magics。其中所有的line magics以%調(diào)用,而所有的cell magics以%%調(diào)用,應(yīng)當(dāng)放于cell的首行使用。
%quickref函數(shù)可以列出所有魔法函數(shù)的簡(jiǎn)單幫助文檔,%magic可以輸出所有魔法函數(shù)詳細(xì)的幫助文檔,如果想查看具體某一個(gè)魔法函數(shù)的詳細(xì)幫助文檔,可以直接在調(diào)用魔法函數(shù)時(shí)再后邊跟上?即可,如:
常用魔法函數(shù)
下面為大家介紹一些常用的魔法函數(shù),關(guān)于其他的一些魔法函數(shù)大家可以按照上面的方面查看幫助文檔學(xué)習(xí)即可。
- %pwd %cd 顯示當(dāng)前工作目錄,且更換工作目錄
- %time 計(jì)算當(dāng)前代碼運(yùn)行時(shí)長(zhǎng);%timeit 計(jì)算當(dāng)前代碼行的平均運(yùn)行時(shí)長(zhǎng);%%timeit 計(jì)算當(dāng)前cell的代碼運(yùn)行時(shí)長(zhǎng)
-
%run 運(yùn)行外部python腳本;%load 載入外部腳本到當(dāng)前
-
%history(%hist)列出歷史輸入的指令,類似于linux的history命令;%dhist輸出歷史訪問(wèn)目錄
-
%who 顯示當(dāng)前Jupyter環(huán)境中的所有變量或名稱;%reset 刪除當(dāng)前Jupyter環(huán)境中的所有變量或名稱
%%writefile:將cell中的內(nèi)容輸出到目標(biāo)文件;%notebook:寫(xiě)入notebook的ipynb文檔
- %matplotlib inline:效果等價(jià)于plt.show()
- %conda:cell中安裝package; %pip:在cell中使用pip指令
- 一些魔法函數(shù)可以實(shí)現(xiàn)一些linux系統(tǒng)的命令,如%pycat:預(yù)覽文件,類似linux中cat;%less,類似linux的less命令;類似的還有%more,%mkdir,%rmdir,%echo,%env,%alias等實(shí)現(xiàn)linux系統(tǒng)的命令
總結(jié)
以上為一些常用的魔法函數(shù),可以有效的提升我們編寫(xiě)代碼文檔的效率, 每個(gè)魔法函數(shù)都有其參數(shù),可以具體的查看魔法函數(shù)的幫助文檔進(jìn)行學(xué)習(xí)。