Jupyter notebook(又稱IPython notebook)是一個交互式的筆記本,支持運行超過40種編程語言。本文中,我們將介紹Jupyter notebook的主要特點,了解為什么它能成為人們創造優美的可交互式文檔和教育資源的一個強大工具。
Jupyter的主窗口顯示的路徑一般是你啟動notebook時位於的路徑下(通常在你的用戶目錄下)。主界面如下所示:

若要創建一個新的notebook,只需鼠標左擊New,在下拉選項中選擇一個你想啟動的notebook類型即可。

因為我只安裝了Python內核,所以啟動Python notebook來進行演示,打開新的標簽,得到了一個空的notebook界面。

你可以看到notebook由以下部分組成:
-
notebook名字
-
主工具欄,包括保存notebook、導出、重載、重啟內核等
-
快捷鍵
-
notebook主要部分,notebook編輯區
花時間熟悉菜單,了解其中的選項。如果你想了解一些特殊模塊、notebook或者一些庫,可以點擊菜單欄右側的Help按鈕。
在主區域(編輯區),你可以看到一個個單元(cell)。每個notebook都由許多cell組成,每個cell有不同的功能。
首先,第一個cell如下圖所示,以“In[ ]”開頭表示這是一個代碼單元。在代碼單元里,你可以輸入任何代碼並執行。例如,鍵盤輸入1+2,然后按“Shift+Enter”,代碼將被運行,並顯示結果。同時,切換到新的cell中。

綠色的輪廓線所在的cell,就是當前工作單元。接下來,我們在第二個cell中,敲擊下列代碼:
-
for i in range(5):
-
print(i)
- 1
- 2
按“Shift+Enter”運行該單元,得到:

跟之前一樣,代碼被執行,結果也正確顯示處理。但是你可能注意到這次沒有Out[2],這是因為我們打印了結果,卻沒有返回值。
notebook一個非常有趣的特性是可以返回之前的cell,修改並重新運行,以此來跟新整個文檔。例如,現在我們回到第一個cell中,將輸入1+2改成2+3,重新按“Shift+Enter”運行該單元,結果被立即更新成5。當你想使用不同參數調試方程又不想運行整個腳本的時候,這條特性非常有用。然而,你也可以通過菜單欄Cell->Run all來重新運行整個notebook。
現在我們已經知道了如何輸入代碼,那為什么不嘗試獲得一個更加優美,解釋性更強的notebook呢?這可以通過使用其他類型的cells來獲得,例如Header和Markdown單元。
首先,我們在notebook的頂部添加一個標題。做法是,選擇第一個cell,點擊Insert->Insert cell above,則在這個cell上面會添加一個新的單元。但是這個新cell默認是code類型,我們可以通過cell type菜單選擇Heading或Markdown替換之前的code類型,這樣就可以添加標題了。

你可以選擇Heading,然后彈出信息會告訴你如何創建不同級別的標題,這樣你就有了與code不同類型的cell。

這個cell以#開頭,表示一級標題。如果你想列子標題的話,參考下面的方法:
-
# First level title
-
## Second level title
-
### Third level title
-
...
- 1
- 2
- 3
- 4
標題寫在#后面,然后重新運行cell,你會發現該單元添加了標題,非常生動可讀,示例如下:

添加標題之后,我們要對每個代碼類型的cell做相應的解釋。為此,我們在相應的位置添加cell,將其類型改為Markdown,然后重新運行cell,這樣就能讓解釋文本豐富起來了。

最后,你可以將新建的notebook重命名,點擊File->Rename,然后輸入新的名稱即可。這樣更改后的名字就會出現在窗口的左上角,位於Jupyter圖標的右側。
在下一部分的教程中,我們將對notebook的能力以及如何集成其他Python庫進行更深入的研究。
