首頁 > 軟體

Jupyter Notebook 快速入門

2020-06-16 17:16:07

本文作者為 Marin Gilles ,他是來自法國的一位物理學博士生,用 Python 開發了自己的物理學模擬框架。本文分為兩部分,是 Python 翻譯組 成立後的第一篇譯文,譯者EarlGrey。

Jupyter Notebook(此前被稱為 IPython notebook)是一個互動式筆電,支援執行 40 多種程式語言。在本文中,我們將介紹 Jupyter notebook 的主要特性,以及為什麼對於希望編寫漂亮的互動式文件的人來說是一個強大工具。

在開始使用 notebook 之前,我們先需要安裝該庫。你可以在 Jupyter 官網 上找到完整的步驟。

譯者注:其實只要 pip install jupyter 就可以了

jupyter notebook

執行上面的命令之後,你將看到類似下面這樣的輸出:

[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).

同時,會在你開啟 notebook 的資料夾中啟動 Jupyter 主介面,如下所示:

如果想新建一個 notebook,只需要點選 New ,選擇你希望啟動的 notebook 型別即可。

這裡,因為我只有一個 Python 核心,所以我們執行一個 Python notebook。在新開啟的分頁中,我們會看到 notebook 介面,目前裡面什麼也沒有。

notebook 介面由以下部分組成:

  1. notebook 的名稱
  2. 主工具列,提供了儲存、匯出、過載 notebook,以及重新啟動核心等選項
  3. 快捷鍵
  4. notebook 主要區域,包含了 notebook 的內容編輯區

慢慢熟悉這些選單和選項。如果想要詳細了解有關 notebook 或一些庫的具體話題,可以使用選單欄右側的幫助選單。

下方的主要區域,由被稱為單元格的部分組成。每個 notebook 由多個單元格構成,而每個單元格又可以有不同的用途。

下方截圖中看到的是一個程式碼單元格(code cell),以 [ ] 開頭。在這種型別的單元格中,可以輸入任意程式碼並執行。例如,輸入 1 + 2 並按下 Shift + Enter 。之後,單元格中的程式碼就會被計算,游標也會被移動動一個新的單元格中。你會得到如下結果:

根據綠色邊框線,我們可以輕鬆地識別出當前工作的單元格。接下來,我們在第二個單元格中輸入些其他程式碼,例如:

for i in range(5):
    print(i)

對上面的程式碼求值時,你會得到:

和前一個範例一樣,程式碼被計算之後,馬上就會顯示結果。你應該注意到了,這次沒有出現類似 Out[2] 這樣的文字。這是因為我們將結果列印出來了,沒有返回任何的值。

notebook 有一個非常有趣的特性,就是可以修改之前的單元格,對其重新計算,這樣就可以更新整個文件了。試著把游標移回第一個單元格,並將 1 + 2 修改成 2 + 3 ,然後按下 Shift + Enter 重新計算該單元格。你會發現結果馬上就更新成了 5。如果你不想重新執行整個指令碼,只想用不同的引數測試某個程式的話,這個特性顯得尤其強大。不過,你也可以重新計算整個 notebook,只要點選 Cell -> Run all 即可。

現在我們已經知道了如何輸入程式碼,為什麼不嘗試著讓這個 notebook 更加漂亮、內容更豐富?為此,我們需要使用其他型別的單元格,即 Header單元格和 Markdown單元格。

首先,我們在頂部新增一個 notebook 的標題。選中第一個單元格,然後點選 Insert -> Insert單元格above (在上方插入單元格)。你會發現,文件的頂部馬上就出現了一個新的單元格。點選在快捷鍵欄中的單元格型別,將其變成一個標題單元格(heading cell):

選中下拉選項中的 Heading。然後會出現一個彈出訊息,告訴你如何建立不同層級的標題,這樣你就有了一個不同型別的 cell:

這個單元格以 # 標記開頭,意味著這是一個一級標題。如果需要子標題,可以使用以下標記表示(改變單元格型別時彈出訊息中有解釋):

# : 一級標題
## : 二級標題
### : 三級標題
...

# 之後寫下文件的標題,然後計算該單元格。你會發現一個樣式非常好看的標題。作為範例和練習,我還新增了其他幾個標題單元格:

新增好標題之後,我們在編寫一些解釋,介紹每個程式碼單元格中的情況。為此,我們要在相應的地方插入單元格,然後將其型別變成 Markdown。然後,計算新的單元格。就這樣,你的解釋文字就漂亮地渲染出來了!

最後,你可以重新命名該 notebook,點選 Fiel -> Rename ,然後輸入新的名稱。這樣,新的名稱將會出現在視窗的左上角,在 Jupyter 的標誌旁邊。

在下一篇中,我們將更深入地了解 notebook 的能力,以及如何繼承其他 Python 庫。

更多詳情見請繼續閱讀下一頁的精彩內容http://www.linuxidc.com/Linux/2017-04/143189p2.htm


IT145.com E-mail:sddin#qq.com