1. 程式人生 > >Jupyter notebook入門教程(上)

Jupyter notebook入門教程(上)

本文將分上下兩部分簡單介紹Jupyter notebook的入門教程,英文原文出處:

Jupyter notebook(又稱IPython notebook)是一個互動式的筆記本,支援執行超過40種程式語言。本文中,我們將介紹Jupyter notebook的主要特點,瞭解為什麼它能成為人們創造優美的可互動式文件和教育資源的一個強大工具。

在使用這個notebook之前,你需要先進行安裝。你可以在Jupyter website上找到完整的安裝步驟。

(譯者注:推薦使用Anaconda,自帶了Numpy、Scipy、Matplotlib等多種python開發包和Jupyter notebook)

安裝完畢後,在Linux終端執行下列命令:

jupyter notebook
  • 1

然後,你將看到類似下面顯示的語句:

[I 20:06:36.367 NotebookApp] Writing notebook server cookie secret to /run/user/1000/jupyter/notebook_cookie_secret
[I 20:06:36.813 NotebookApp] Serving notebooks from local directory: /home/your_username
[I 20:06:36.813 NotebookApp] 0 active kernels
[I 20:06:36.813 NotebookApp] The IPython Notebook is running at: http://localhost:8888/
[I 20:06:36.813 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
  • 1
  • 2
  • 3
  • 4
  • 5

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庫進行更深入的研究。