1 簡介
jupyter notebook
與jupyter lab
作為廣受歡迎的ide,尤其適合開展資料分析相關工作,而掌握它們相關的一些實用技巧,勢必會大大提升日常工作效率。而今天我就來給大家介紹9個非常實用的jupyter
小技巧~

2 9個jupyter實用技巧
2.1 在同一個output裡顯示多個輸出結果
我們都知道,在jupyter
中同一個cell內,如果不使用print
等函式,那麼就只有最後一個呼叫的變數結果會被列印顯示出來:

而只要配合ipython
執行下列程式碼之後,就可以實現多輸出結果的列印:
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = 'all'

可以看到,這時我們無論輸出幾個元素都會被列印出來非常方便~
2.2 在單元格中直接執行終端命令
在jupyter
中我們可以利用!
加上終端命令的形式,在單元格中直接執行命令,非常的方便(但要注意如果有需要輸入y/n確認等情況,請把類似-y的引數帶上否則無法繼續):

2.3 利用%who列出當前所有變數名
有些情況下,我們需要搞清楚當前kernel下有哪些已被建立的變數,這時魔法命令%who
就非常實用:

也可以帶上引數輸出指定型別的變數名:

2.4 使用多游標模式
很多情況下,我們針對同一個單元格內的程式碼,要修改的地方比較多的話,就可以配合jupyter
中的多游標模式,譬如按住ctrl
鍵點選不同的地方:

或者按住alt
迅速矩形選擇(會按照每行相同字元數進行選擇):

2.5 給自己的程式設定一個鬧鐘
當我們的一段程式需要執行較長時間時,我們往往不會幹守著它執行完成,這時可以利用一些小技巧,在程式執行完成後給自己響起鬧鐘提示,譬如在windows
下可以參考下面的例子設定,大家可以親自試一試非常的有意思~:
import winsound
import time
# 假裝執行耗時任務
time.sleep(10)
duration = 3000 # 3000毫秒即3秒
freq = 440 # 設定響聲頻率
# 鬧鐘響起
winsound.Beep(freq, duration)
2.6 針對API進行模糊查詢
有些時候我們在程式設計時可能會忘記某個函式或方法的全稱,只依稀記得其中的某個單詞或片段,這種情況下我們就可以參考下列方式使用*萬用字元進行模糊查詢:

2.7 設定顯示行標號
jupyter
預設情況下是不顯示程式碼行標的,這在我們執行出錯之後很是不好尋找到底是哪一行出錯,事實上我們可以通過設定來解決這個問題,譬如jupyter lab
中設定方式如下:

2.8 阻止matplotlib多餘文字內容輸出
我們在用matplotlib
繪圖時一定遇到過顯示影像的同時跟著輸出了一段文字,這是因為matplotlib
的很多API是有返回值的,因此我們只需要最後一行末尾加上;
阻止輸出即可:

2.9 配合watermark自動列印版本資訊
在很多情況下,我們書寫程式碼匯入各種三方庫之後,會習慣性的列印出各種版本資訊,從而輔助之後的程式碼複用,這種情況下我們就可以配合watermark
來自動幫我們幹這些事。
利用pip install watermark
安裝完成後,就可以參照下面的方式給自己的notebook
新增各種記錄資訊~

以上就是本文的全部內容,歡迎在評論區與我進行討論~