天天看點

Python的編輯工具-Jupyter notebook實戰案例

        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"即可。      
Python的編輯工具-Jupyter notebook實戰案例

4>.使用jupyter的notebook時指定根目錄

D:\>jupyter notebook --notebook-dir D:\yinzhengjie\python        #指定根目錄為"D:\yinzhengjie\python"      
Python的編輯工具-Jupyter notebook實戰案例

5>.檢視jupyter指令的幫助資訊

C:\Users\yinzhengjie>jupyter -h      
Python的編輯工具-Jupyter notebook實戰案例

6>.檢視"jupyter notebook"子指令的幫助資訊

C:\Users\yinzhengjie>jupyter notebook -h      
Python的編輯工具-Jupyter notebook實戰案例

二.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的文本格式。      
Python的編輯工具-Jupyter notebook實戰案例

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文法,隻不過字型會變大,可以執行進行解析。      
Python的編輯工具-Jupyter notebook實戰案例

三.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" => 如果想要自定義快捷鍵也可以點選"編輯快捷鍵" => 修改後點選"确定"按鈕
      
Python的編輯工具-Jupyter notebook實戰案例

當你的才華還撐不起你的野心的時候,你就應該靜下心來學習。當你的能力還駕馭不了你的目标的時候,你就應該沉下心來曆練。問問自己,想要怎樣的人生。

歡迎加入基礎架構自動化運維:598432640,大資料SRE進階之路:959042252,DevOps進階之路:526991186

繼續閱讀