国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

Python中有哪些常用的魔法命令

發(fā)布時(shí)間:2021-07-10 17:40 來(lái)源:億速云 閱讀:0 作者:Leah 欄目: 編程語(yǔ)言 歡迎投稿:712375056

這篇文章給大家介紹Python中有哪些常用的魔法命令,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

基礎常識

  •  ?和?? ->例:%matplotlib?、%matplotlib??

后綴為?可以獲取一個(gè)對象的相關(guān)信息,比如描述一個(gè)方法該怎么用;后綴為??可以獲取該對象更加詳細的信息,比如源碼。這個(gè)對象可以是IPython中自帶的、也可以是導入的、也可以是自己定義的。

  •  %和%% ->例:%time、%%time

前綴為%被稱(chēng)作行魔法命令(line magics),只能在單個(gè)輸入行上運行;前綴為%%被稱(chēng)作單元格魔法命令(cell magics),可以在多個(gè)輸入行上運行。

1.%Ismagic和%magic

如果你還不了解IPython的魔法命令,那這兩個(gè)魔法命令一定是最重要的,記牢這兩個(gè)命令之后慢慢了解剩下的。%lsmagic的作用就是列出所有存在的行魔法命令和單元格魔法命令,部分截圖如下:

%magic的作用就是給出所有魔法命令的詳細介紹,比如介紹、樣例等等,比較考驗英語(yǔ)功底,耐下心慢慢了解。

2.%pdb

輸入這個(gè)命令并且運行之后,如果后面的代碼出現了異常,這個(gè)指令就會(huì )主動(dòng)進(jìn)入調試器,幾十行幾百行代碼難免會(huì )有幾個(gè)或一堆Bug??赡鼙容^笨的方法就是找斷點(diǎn)然后print,最后還要把print刪掉,而%pdb調試找到Bug后直接退出就好,相對前者更方便些。

比如兩個(gè)數相加,不小心把一個(gè)整數定義成字符型,在調用函數計算時(shí)會(huì )發(fā)生報錯,然后就可以進(jìn)入調試器進(jìn)行調試,切記最后要通過(guò)exit()退出,不能直接終止單元格運行。

3.%debug

%debug的作用與%pdb幾乎是一樣的,不同之處就是%pdb在遇到異常自動(dòng)進(jìn)入調試器,而%debug是人遇到報錯主動(dòng)輸入指令進(jìn)入調試器,仍然是上面那個(gè)例子,調試界面如下:

主動(dòng)和被動(dòng)兩種調試方式大家可以靠自己喜好選擇,我個(gè)人比較喜歡%debug。

4.%who和%whos

代碼一多變量可能就會(huì )變多,變量一多可能就會(huì )混淆,或者在刪除單元格的時(shí)候不小心把變量定義的單元格也刪掉了,%who和%whos這兩條命令就起到大作用了。

%who給出的信息只有全局變量的名稱(chēng),而%whos給出的信息更加詳細,包括變量名稱(chēng)、類(lèi)型、和數據。

5.%time和%timeit

這兩條命令都是用來(lái)輸出代碼的執行時(shí)間,比如可以用來(lái)粗略的比較兩種算法在相同的問(wèn)題上執行時(shí)間哪一個(gè)更少,不同點(diǎn)在于%time只執行一次就輸出執行時(shí)間,而%timeit是執行多次然后計算平均時(shí)間再輸出。

比如這里%timeit命令輸出中有7 runs代表共執行7次,這兩個(gè)命令都為行命令,%%time和%%timeit為單元格命令,區別同上。

6.%store

如果你在一個(gè)文件中花了很長(cháng)的時(shí)間清理了一些數據,比如對原始數據缺失值填充呀、降維呀、轉換呀等等,然后在另一個(gè)文件中需要用到同樣的數據,笨一點(diǎn)方法就是將數據保存然后在新文件中調用,但這種操作一條%store命令就能完成,我們先在一個(gè)文件中利用%store保存一個(gè)變量。

然后在另一個(gè)文件中調用這個(gè)變量:

可以看到直接調用是會(huì )報錯的,但利用了%store -r命令之后就可以成功調用被%store保存的變量,所以%store用來(lái)保存,%store -r用來(lái)讀取。

7.%xdel和%reset

這條命令的作用就是刪除變量,并且刪除其在IPython中的對象上的一切引用。平時(shí)在數據清洗時(shí),從原始數據到清洗后的數據中間要經(jīng)過(guò)很多步驟,我們不可能全程用一個(gè)變量名稱(chēng),所以中間步驟很容易為數據起一些類(lèi)似的名稱(chēng),而利用%xdel就可以將無(wú)用的單個(gè)變量名稱(chēng)刪掉,防止混淆。

%reset的作用就是刪除所有變量名。

8.%cls

在數據清洗時(shí)候,通常都是做一步然后輸出一次數據集,觀(guān)察一下變化,我們都知道展示數據集是很占網(wǎng)頁(yè)的,久而久之,這個(gè)notebook就特別長(cháng),再想查看文件前面的內容不僅需要滾動(dòng)很長(cháng)時(shí)間滑輪,而且數據間很容易混淆,所以每當輸出一次數據集后可以利用%cls命令清除一次,使notebook看起來(lái)更整潔。

可以看到正常的話(huà)data之后會(huì )打印數據集,但利用%cls之后數據集的輸出被清除了。

9.%%writefile

如果我們想寫(xiě)一個(gè)函數,例如去除中文符號的函數,這樣的函數在很多情景下都可以利用,所以我們可以將這個(gè)函數寫(xiě)入一個(gè)單獨文件,想用的時(shí)候直接調用,這個(gè)操作可以利用%%writefile命令進(jìn)行寫(xiě)入。

10.%run

%run命令的作用就是運行腳本文件,不僅可以直接使用腳本文件中的代碼,腳本文件也可以使用IPython環(huán)境中的變量,仍用上面的例子,可以用%run命令直接運行。

11.%psource

如果你在notebook定義了一個(gè)函數,但隔了比較久需要用到這個(gè)函數,但是可能忘記了這個(gè)函數需要傳入哪些參數、或者傳入參數的類(lèi)型應該是什么,這種情況下就不得不往前翻尋找這個(gè)函數的代碼,但利用%psource可以偷懶,這個(gè)命令就是輸出源代碼。

前面提及的??也有相同的作用,但是輸出的形式?jīng)]有%psource直觀(guān),還混有其它的信息在里面。

12.%hist

%hist的作用就是打印所有命令行輸入的歷史記錄,方便查看之前輸入的代碼信息。

這個(gè)命令允許設置查詢(xún)的區間,也就是命令行輸入對應的序號。

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

尤物99国产成人精品视频| 午夜性刺激免费看视频 | 国产AV无码专区国产乱码| 漂亮人妻洗澡被公强 日日躁| 亚洲aⅴ男人的天堂在线观看| 色偷偷偷久久伊人大杳蕉|