Jupyter Notebook 入門指南

【中小學信息技術教學中引入了Python後,不少老師在實踐教學中遇到很多問題,IDLE模式的環境便於開展編程教育,呈現較好的體驗,此文所述Jupyter Notebook就是很好的實踐方式】

Jupyter Notebook(此前被稱為 IPython notebook)是一個交互式筆記本,支持運行 40 多種編程語言。

Jupyter Notebook 的本質是一個 Web 應用程序,便於創建和共享文學化程序文檔,支持實時代碼,數學方程,可視化和 markdown。 用途包括:數據清理和轉換,數值模擬,統計建模,機器學習等等

安裝與運行

1.使用Anaconda安裝

對於小白,強烈建議使用Anaconda發行版安裝Python和Jupyter,其中包括Python、Jupyter Notebook和其他常用的科學計算和數據科學軟件包。

首先,下載Anaconda。建議下載Anaconda的最新Python 3版本。其次,請按照下載頁面上的說明安裝下載的Anaconda版本。最後,安裝成功!

2.使用pip命令安裝

對於有經驗的Python用戶,可以使用Python的包管理器pip而不是Anaconda 來安裝Jupyter 。

如果已經安裝了Python 3:

python3 -m pip install --upgrade pip

pi3 install jupyter

如果已經安裝了Python 2:

python2 -m pip install --upgrade pip

pip2 install jupyter

但推薦使用Anaconda,自帶了Numpy、Scipy、Matplotlib等多種python開發包和Jupyter Notebook!

3.運行Jupyter Notebook

成功安裝Jupyter Notebook後,在Terminal (Mac / Linux)或Command Prompt(Windows)中運行以下命令就可打開Jupyter Notebook


Jupyter Notebook 入門指南

輸入 :jupyter notebook


Jupyter Notebook 入門指南

執行上面命令之後, Jupyter Notebook 將在你的默認瀏覽器中打開,網址為:http://localhost:8888/tree

或者在開始菜單頁面直接打開


Jupyter Notebook 入門指南


主面板(Notebook Dashboard)


Jupyter Notebook 入門指南


打開Notebook,可以看到主面板。在菜單欄中有Files(文件)、Running(運行)、Clusters(集群)、三個選項。用到最多的是Files,我們可以在這裡完成notebook的新建、重命名、複製等操作。

Files 基本上列出了所有的文件,

Running 顯示你當前已經打開了終端和Notebooks,

Clusters 由 IPython parallel 包提供,用於並行計算。

要打開一個新的 Jupyter Notebook,請單擊頁面右側的“New”選項卡。在這裡,你有四個選項可供選擇:

⦁ Python 3

⦁ Text File (文本文件)

⦁ Folder (文件夾)

⦁ Terminal (終端)

在 "Text File" 選項中,你會得到一個空白的文檔。輸入你喜歡的任何字母,單詞和數字。它基本上是一個文本編輯器(類似於 Ubuntu 上的應用程序)。你也可以選擇一種語言(支持非常多的語言),然後用該語言來寫一個腳本。你還可以查找和替換文件中的單詞。

在 "Folder" 選項中, 顧名思義它的功能就是創建文件夾。你可以創建一個新文件夾來放入文件,重新命名或者刪除它。

"Terminal" 的工作方式與你的 Mac 電腦或 Linux 電腦上的終端完全相同(或者 Windows 上的 cmd )。它在你的Web瀏覽器中支持終端會話。在這個終端中輸入 python ,瞧!現在你已經可以開始寫 python 腳本了。

創建python文件


從“New”選項中選擇 "Python 3" 選項。你會看到如下的截圖:


Jupyter Notebook 入門指南

代碼上方的菜單欄提供了操作單元格的各種選項:

insert (添加),edit (編輯),cut (剪切),move cell up/down (上下移動單元格),run cells(在單元格中運行代碼),interupt (停止代碼),save (保存工作),以及 restart (重新啟動內核)


Jupyter Notebook 入門指南

在下拉菜單中(如上所示),你有四個選項:

Code - 這是你輸入代碼的地方

Markdown - 這是你輸入文本的地方。你可以在運行代碼後添加結論,添加註釋等。

Raw NBConvert - 這是一個命令行工具,可將你的筆記本轉換為另一種格式(如 HTML)

Heading - 你可以將標題添加到單獨的小節並使你的 Notebook 看起來乾淨整潔。這個選項現在已經集成到 Markdown 選項中。添加一個“##”,以確保在你之後輸入的內容將被視為標題

一個notebook的編輯界面主要由四部分組成:名稱、菜單欄、工具條以及單元(Cell),如下圖所示:


Jupyter Notebook 入門指南

1.在這裡,我們可以修改notebook的名字,直接點擊當前名稱,彈出對話框進行修改:


Jupyter Notebook 入門指南

2.菜單欄詳解

2.1 File


Jupyter Notebook 入門指南

2.2 Edit


Jupyter Notebook 入門指南


2.3 View


Jupyter Notebook 入門指南


2.4 Insert


Jupyter Notebook 入門指南


2.5 Cell


Jupyter Notebook 入門指南


2.6 Kernel

Jupyter Notebook 入門指南


2.7 Help


Jupyter Notebook 入門指南


3. 工具條


工具條中的功能基本上在菜單中都可以實現,這裡是為了能更快捷的操作,將一些常用按鈕放了出來。下圖是對各按鈕的解釋。


Jupyter Notebook 入門指南


4 .單元(Cell)

在單元中我們可以編輯文字、編寫代碼、繪製圖片等等。對於單元的詳細內容放在第五節中介紹。

單元(Cell)


1.兩種模式與快捷鍵


對於Notebook中的單元,有兩種模式:命令模式(Command Mode)與編輯模式(Edit Mode),在不同模式下我們可以進行不同的操作


Jupyter Notebook 入門指南

如上圖,在編輯模式(Edit Mode)下,右上角出現一隻鉛筆的圖標,單元左側邊框線呈現出綠色,點Esc鍵或運行單元格(ctrl-enter)切換回命令模式。


Jupyter Notebook 入門指南

在命令模式(Command Mode)下,鉛筆圖標消失,單元左側邊框線呈現藍色,按Enter鍵或者雙擊cell變為編輯狀態。

2 .Cell的四種功能

Jupyter Notebook 入門指南

Cell有四種功能:Code、Markdown、Raw NBConvert、Heading,這四種功能可以互相切換。Code用於寫代碼,Markdown用於文本編輯,Raw NBConvert中的文字或代碼等都不會被運行,Heading是用於設置標題的,這個功能已經包含在Markdown中了。四種功能的切換可以使用快捷鍵或者工具條

Markdown用於編輯文本,給出常用的Markdown用法


Jupyter Notebook 入門指南


快捷鍵

一旦進入命令模式(即沒有活動單元格),就可以嘗試以下快捷鍵:

A 鍵將在選中單元格上方插入新單元格,B 鍵將在選中單元格下方插入一個單元格

要刪除單元格,請連續按兩次 D 鍵

要撤消已刪除的單元格,請按 Z 鍵

Y 鍵將當前的選中單元格變成代碼單元格

按住 Shift + 向上或向下箭頭鍵可以選擇多個單元格。在多選模式下,按 Shift + M 會合並選中的單元格

F 鍵會彈出 “查找和替換” 菜單

處於編輯模式時(在命令模式下按 Enter 鍵進入編輯模式),你會發現以下快捷鍵非常好用:

Ctrl + Home 轉到單元格的開頭

Ctrl + S 會保存你的工作

和上面提過的一樣,Ctrl + Enter 將運行你的整個單元格

Alt + Enter 不僅會運行你的單元格,它還會在下方添加一個新的單元格

Ctrl + Shift + F 打開命令選項板


其他

按tab鍵查看提示信息或者補全命令

在一個庫、方法或變量前加上 ?,就可以獲得它的一個快速語法說明

使用分號可以阻止該行函數的結果輸出

有用的 Jupyter Notebooks 擴展


擴展可以有效提高你的 Jupyter Notebooks 的生產力。安裝和使用擴展的最佳工具之一是 Nbextensions。它需要兩個簡單的步驟來安裝(也有其他方法,但我發現這是最方便的):

第1步:用 pip 來安裝它:

pip install jupyter_contrib_nbextensions

第2步:安裝關聯的 JavaScript 和 CSS 文件

jupyter contrib nbextension install --user

完成此操作後,你會在 Jupyter Notebook 主頁頂部看到一個 Nbextensions 選項卡。這裡面有很多非常棒的擴展供你使用


Jupyter Notebook 入門指南

要啟用一個擴展,只需點擊它來激活。我在下面提到了4個我認為最有用的擴展:

Code prettify:重新格式化和美化代碼塊的內容

Printview:這個擴展添加了一個工具欄按鈕來調用當前 Notebook 的 jupyter nbconvert,並可選擇在新的瀏覽器標籤中顯示轉換後的文件

Scratchpad:這個擴展增加一個便捷單元格,它可以讓你運行你的代碼而不必修改你的 Notebook。這是一個非常方便的擴展,特別是當你想要測試你的代碼,但不想在你的活動Notebook上做這件事。

Table of Contents (2):這個擴展可以收集你的 Notebook 中的所有標題,並將它們顯示在一個浮動窗口中

保存和共享你的 Notebook

這是 Jupyter Notebook 中最重要和最棒的功能之一。當我需要寫博客文章,但我的代碼和註釋都保存在 Jupyter 文件中時,我需要先將它們轉換為另一種格式。請記住,這些 Notebooks 採用 json 格式,在共享它時這並不是很有幫助。我無法在電子郵件或博客上發佈不同的單元格或代碼塊,對吧?

進入 Files 菜單,你會看到一個 Download As 選項:


Jupyter Notebook 入門指南

你可以將你的 Notebook 保存為 7 個選項中的任何一個。最常用的是 .ipynb 文件,這樣其他人就可以在自己的機器上覆制代碼;或者保存為 .html 文件, 這樣會打開一個網頁(當你想要保存嵌入在 Notebook 中的圖像時,這會派上用場)

你也可以使用 nbconvert 選項手動將你的 Notebook 轉換為不同的格式,如 HTML 或 PDF。

你還可以使用 jupyterhub,它允許你在其服務器上託管 Notebooks 並與多個用戶共享。許多頂尖的研究項目都使用這個功能用於協作。

最佳實踐


雖然單獨工作可能很有趣, 但大多數時候你會發現自己是在一個團隊中工作。在這種情況下,遵循指導方針和最佳實踐非常重要,這樣可以確保你的代碼和 Jupyter Notebooks 被正確標註,以便與你的團隊成員保持一致。下面我列出了一些最佳實踐指南,你在 Jupyter Notebooks 上工作時一定要遵循以下指南:

對於任何程序員來說最重要的事情之一:始終確保為代碼添加合適的註釋!

確保你有代碼所需的文檔。

考慮一個命名方案,並堅持在所有代碼中使用以確保一致性。這樣其他人更容易讀懂你的代碼。

無論你需要什麼庫,在 Notebooks 開始時導入它們(並在它們旁邊添加註釋,說明導入它們的目的)。

確保代碼中行與行之間有適當間隔,不要把循環和函數放在同一行中。

有時候你會發現你的文件變得非常繁重。看看有沒有方法隱藏你認為對於以後參考不太重要的代碼。 Notebooks 看起來整潔乾淨, 讓人賞心悅目也非常重要。

Matplotlib 可以很漂亮整潔地展示你的 Notebook,看看怎麼使用它!

地址:http://nbviewer.jupyter.org/github/jrjohansson/scientific-python-lectures/blob/master/Lecture-4-Matplotlib.ipynb

另一個提示! 當你想創建演示文稿時,首先想到的工具是 PowerPoint 和 Google Slides。其實你的 Jupyter Notebooks 也可以創建幻燈片!還記得我說它超級靈活嗎? 我一點都沒有誇大。

要將你的 Notebooks 轉換為幻燈片,請轉到 View -> Cell Toolbar,然後單擊 Slideshow。看!現在,每個代碼塊都在右側顯示一個 Slide Type 的下拉選項。它提供了以下 5 個選項:


Jupyter Notebook 入門指南

好好試一試每一個選項以更好地理解它,它會改變你呈現你的代碼的方式!


分享到:


相關文章: