Python的編輯工具-Jupyter notebook實戰案例
作者:尹正傑
版權聲明:原創作品,謝絕轉載!否則將追究法律責任。
一.安裝Jupyter
1>.jupyter notebook概述
我們知道Python是有交互式命令行的,但其功能相對較弱,因此有人開發了ipython,它對Python解釋器進行了封裝,使得交互式界面更友好。但ipython和原生Python解釋器一樣,均無法保存之前寫過的代碼,一般用於測試代碼。 而今天我們介紹等等jupyter notebook它底層就是用的ipython進行交互的,而且我們寫的代碼是可以以文件形式保存的。jupyter Notebook是網頁版交互式代碼筆記工具,它是一款程序員和科學工作者的編程/文檔/筆記展示軟件。 jupyter Notebook是一個采用C/S架構的網站,通過Tornado建立WEB服務器端,使用瀏覽器作為客戶端。其交互式的編程環境,友好的界面,便於分享的文檔格式,對排版語法,繪圖,數學公式的支持,使它成為最流行的Python科學計算工具。
毫不客氣的說:jupyter notebook = Python + MaTLAB + Word + Excel + PowerPoint
使用場景:編程(探索,學習,數據方向),文檔,筆記,教學,演講,數據分析報告等等。
溫馨提示:
以"!","%","_"等特殊符號開頭的命令,叫魔術(magic)命令,用於加強IPython shell功能。需要注意的是,魔術命令后面不能帶有Python注釋,否則會報錯喲~
不能在除IPython以外的Python環境執行:
(1)"!":
執行shell命令,在命令前面加"!",如"!conda env list"。
(2)"%":
以"%"開頭的為行命令,只對命令所在的行有效。
(3)"%%":
以"%%"開頭的為單元命令,單元命令必須出現在單元第一行,對整個單元都有效。
(4)"_":
保存上一次執行的結果。
2>.安裝jupyter
C:\Users\yinzhengjie>pip install jupyter #需要注意的是,當我們安裝jupyter時可以不提前安裝ipthon,因為在安裝jupyter時會自動檢測當前Python環境是否有ipython環境,若沒有回自動安裝。
3>.啟動jupyter的筆記本(notebook)功能
C:\Users\yinzhengjie>jupyter notebook #執行該命令后會自動幫咱們打開一個網頁,如下圖所示。接下來我們就可以寫我們的Python代碼了(需要注意的是,你在哪個目錄啟動notebook,那么該目錄就是其對應的家目錄喲~)
溫馨提示:
也可以直接在命令行敲擊"jupyter notebook"啟用其功能,用法基本上一致。終止程序也只需按"Ctrl + c"即可。

4>.使用jupyter的notebook時指定根目錄
D:\>jupyter notebook --notebook-dir D:\yinzhengjie\python #指定根目錄為"D:\yinzhengjie\python"

5>.查看jupyter命令的幫助信息
C:\Users\yinzhengjie>jupyter -h

6>.查看"jupyter notebook"子命令的幫助信息
C:\Users\yinzhengjie>jupyter notebook -h

二.jupyter notebook網頁的常見操作
1>.列表頁操作
所謂的列表頁其實就是我們剛剛啟用Jupyter Notebook服務時自動打開的瀏覽器頁面,如下圖所示。 列表頁有以下常見操作: (1)新建jupyter文件: 點擊"Files" => 點擊"New" => 選擇要新建的文件類型(比如你可以選擇"Python 3","Text File","Terminal"等) (2)文件的上傳 點擊"Files" => 點擊"Upload" => 點擊"上傳",即可上傳成功。 (3)文件或目錄的重命名操作 點擊"Files" => 勾選對應的文件或目錄,選擇對應的操作,比如"RENAME"操作,需要注意的是,正在運行的文件是無法執行"RENAME"操作的,需要將該文件先"Shutdown"。 (4)停止文件進程: 點擊"Running" => 選擇要關閉的Notebooks,點擊"關閉"按鈕即可。 (5)導入和導出文件: 本質上對應的就是普通文件的復制粘貼操作,只需將對應的文件復制到jupyter notebook的工作目錄即可。
溫馨提示: jupyter notebook的文檔格式是".ipynb",本質上是一種類JSON的文本格式。

2>.內頁操作
所謂內頁就是使用列表頁打開的新標簽網頁,比如在列表頁新建一個Python文件,那么就會自動打開一個內頁,如下圖所示。
內頁有以下常見操作:
(1)菜單欄操作
比如導出文件,依次點擊"File" => "Download as" => 根據需求選擇你要導出的格式(比如"HTML","Markdown","PDF","Python"格式等)
(2)工具欄操作
比如保存文件,可以點擊保存按鈕的logo,也可以直接使用"Ctrl + s",基本上工具欄的操作都可以使用快捷鍵來替代。
工具欄各圖標說明:保存,插入cell,剪切cell,粘貼cell,向上移動cell,向下移動cell,執行cell代碼,重啟Python內核,cell分類模式(Code/Markdown/Raw NBConvert/H1-H6) => 控制台
(3)工作區:
可以支持一系列的快捷鍵,當然也支持上面的工具欄操作喲~但是操作的對象都是針對工作區的每個cell。
溫馨提示:
cell模式分類說明:
Code:
該模式用來寫代碼,可以執行其中的代碼塊。
Markdown:
該模式可以寫解釋,文檔注釋等,支持Markdown格式,可以執行用來解析。
Raw NBConvert:
cell內容原來現實,文本不解析,即不能當代碼執行。
H1-H6:
標題模式,支持Markdown語法,只不過字體會變大,可以執行進行解析。

三.Cell操作
相比vim編輯工具而言,jupyter notebook相對友好一點,因為它只有兩個模式,即編輯模式(光標在cell內,即可以進行標記操作)和命令模式(光標未在cell內,即該模式不可以編輯cell)。
在某個cell內單機鼠標,就進入到標記模式,按"ESC"就可以從編輯模式退出,當然,你也可以直接將鼠標移動到非cell內的區域,也會自動退出編輯模式。
常用的cell快捷鍵如下所示:
a|A: 在某個cell上面新增加一行cell。 b|B 在某個cell下面新增一行cell。 d|D: 刪除一行cell。
z|Z:
回退操作。 m|M: 將某行cell變為純文本的內容,即Markdown模式而非Python代碼,你可以理解成注釋內容。
y|Y:
代碼模式。
l|L:
顯示某個cell的行號。
shift + l|L:
顯示所有cell的行號。
Ctrl + shift + 減號(-):
在編輯模式中,以光標處為分隔符,將一個cell分割為2個cell。
shift + m|M:
向下合並cell。
shift + enter: 執行某行cell內的代碼,並產生一個新的cell。 ctrl + enter: 執行某行cell內的代碼,但不會產生新的cell。
ctrl + s:
保存代碼。
查看|設置快捷鍵方式如下:
依次點擊菜單欄中的"Help" => "Keyboard Shortcuts" => 如果想要自定義快捷鍵也可以點擊"編輯快捷鍵" => 修改后點擊"確定"按鈕

