安利十二個(gè)常用的IPython魔法命令
本文約2000字,閱讀大概需要分鐘
不能以偏概全哈,就我個(gè)人而言,在日常編程中一般都會(huì)用到兩個(gè)編譯器——Pycharm和Jupyter,在刷算法、寫(xiě)爬蟲(chóng)時(shí)會(huì)用到前者,因?yàn)槲伊?xí)慣用Pycharm里的Debug功能調(diào)試,很容易找出代碼中的Bug。
而進(jìn)行數(shù)據(jù)分析、機(jī)器學(xué)習(xí)時(shí)就會(huì)用到后者,因?yàn)镴upyter編譯器利用的IPython是一種交互式計(jì)算和開(kāi)發(fā)環(huán)境,對(duì)數(shù)據(jù)的可視化十分友好,這類(lèi)單元格的形式每一步都有運(yùn)行結(jié)果,便于整理自己思路,并且很大程度上節(jié)約了運(yùn)行時(shí)間,在調(diào)試的時(shí)候只需要運(yùn)行出錯(cuò)的部分代碼,而不是全部。
IPython中有一些特有的魔法命令,如果能合理的利用這些魔法命令,會(huì)省去很多不必要的操作,為編程帶來(lái)很大程度的便利,下面就來(lái)安利十二個(gè)常用的魔法命令。
基礎(chǔ)常識(shí)
?和?? ->例:%matplotlib?、%matplotlib??
后綴為?可以獲取一個(gè)對(duì)象的相關(guān)信息,比如描述一個(gè)方法該怎么用;后綴為??可以獲取該對(duì)象更加詳細(xì)的信息,比如源碼。這個(gè)對(duì)象可以是IPython中自帶的、也可以是導(dǎo)入的、也可以是自己定義的。
%和%% ->例:%time、%%time
前綴為%被稱(chēng)作行魔法命令(line magics),只能在單個(gè)輸入行上運(yùn)行;前綴為%%被稱(chēng)作單元格魔法命令(cell magics),可以在多個(gè)輸入行上運(yùn)行。
1.%Ismagic和%magic
如果你還不了解IPython的魔法命令,那這兩個(gè)魔法命令一定是最重要的,記牢這兩個(gè)命令之后慢慢了解剩下的。%lsmagic的作用就是列出所有存在的行魔法命令和單元格魔法命令,部分截圖如下:

%magic的作用就是給出所有魔法命令的詳細(xì)介紹,比如介紹、樣例等等,比較考驗(yàn)英語(yǔ)功底,耐下心慢慢了解。
2.%pdb
輸入這個(gè)命令并且運(yùn)行之后,如果后面的代碼出現(xiàn)了異常,這個(gè)指令就會(huì)主動(dòng)進(jìn)入調(diào)試器,幾十行幾百行代碼難免會(huì)有幾個(gè)或一堆Bug。可能比較笨的方法就是找斷點(diǎn)然后print,最后還要把print刪掉,而%pdb調(diào)試找到Bug后直接退出就好,相對(duì)前者更方便些。

3.%debug

4.%who和%whos

5.%time和%timeit

6.%store


7.%xdel和%reset

8.%cls

9.%%writefile

10.%run

11.%psource

12.%hist


推薦閱讀 誤執(zhí)行了rm -fr /*之后,除了跑路還能怎么辦?! 程序員必備58個(gè)網(wǎng)站匯總 大幅提高生產(chǎn)力:你需要了解的十大Jupyter Lab插件
