ipython notebook使用教程


在一次師兄的例會匯報中,介紹了ipython notebook,當時覺得很酷炫,漸漸自己使用的時候才發現真的很強大。抽空整理下,找了些資料進行補充,並挨個進行了實現,留個筆記,也歡迎喜歡Python編程的碼農使用。有不全的歡迎補充。

IPython notebook目前已經成為用Python做教學、計算、科研的一個重要工具。關於其發展,以及介紹,感興趣可以找文獻閱讀。本文主要講解的是它的基本用法和技巧。

IPython Notebook使用瀏覽器作為界面,向后台的IPython服務器發送請求,並顯示結果。

Ipython使用了websocket,它是不支持IE的.一般用Chrome就好了.

好, 說了這么多,我們打開先看下,打開方式很簡單,直接cmd進入到你要創建的目錄下,然后輸入命令:ipython notebook(現在升級了,打開主頁顯示的是jupyter,所以也可以使用jupyter notebook命令)。

可以看到在瀏覽器界面中使用單元(Cell)保存各種信息。Cell有多種類型,經常使用的有表示代碼的Code單元,和表示格式化文本的Markdown單元。

每個代碼單元都有一個輸出區域,在Code單元中輸入代碼,按 Ctrl-Enter 將運行此代碼,代碼中最后一個表達式的值將輸出區域顯示。如果希望屏蔽輸出,可以在最后一條語句之后添加一個分號:”;”。此外,代碼中還可以使用print語句在輸出區域中顯示信息。

與IPython一樣,在cell中可以直接按tab鍵,可以自動補全,超級實用。

Markdown文本

具體可以參考https://maxiang.io/或者其他文檔

  • 文本編輯

Markdown 是一種用來寫作的輕量級「標記語言」,它用簡潔的語法代替排版,而不像一般我們用的字處理軟件 Word 或 Pages 有大量的排版、字體設置。它使我們專心於碼字,用「標記」語法,來代替常見的排版格式。

  • 數學公式

可以使用LaTeX公式

創建行內公式,例如 $\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N$。

或者塊級公式: $$ x = \dfrac{-b \pm \sqrt{b^2 - 4ac}}{2a} $$

  • 代碼塊

可以直接在頁面輸出代碼塊,只需要在前后加上```代碼塊 ```即可。

  • 表格

可以使用markdown標記生成表格

嵌入圖片

嵌入音樂

可以嵌入本地音樂和網絡音樂

嵌入視頻

網絡視頻

本地視頻

嵌入網頁

嵌入鏈接

魔法命令

所有以%開頭的方法,都是所謂的魔術方法(Magic function),也就是ipython內置的一些方法。需要注意的是,魔術方法有%和%%之分,比如%timeit%%timeit。在ipython中有專門的叫法,前者叫line magic后者叫cell magic。顧名思義,前者是專門針對一行的命令,后者針對多行的命令。

通過%lsmagis可以查看所有的magic命令,使用?或者??可以查看該命令的信息,后者可以查看源碼。如: %alias?,會出現該方法的描述。

接下來對一些常用的進行展示:

  • 加載文件

  • 執行文件

run命令還可以附加選項,常用的有-t選項,這個會在腳本執行完后,打印出執行的cpu timings。如果指定了-t選項,后面可以跟一個-Nx,x代表一個數字。表示重復執行x次。

另外比較好用的是-d選項,這個會在pdb中運行腳本。后跟-bxx打斷點。

還有一個-p選項,這個選項會開啟python profiler,從而打印出詳細的執行時間、函數調用等等信息供優化參考。

  • 嵌入繪圖

在網頁中嵌入繪圖庫繪制的圖形,可以使用%matplotlib inline或者%pylab inline啟動這個功能。還可以啟動ipython后台服務器時,在命令行下輸入ipython notebook --matplotlib inline或ipython notebook --pylab inline。這樣的話它就會導入pylab(mathplotlib)庫.而且顯示圖片時可以嵌在網頁中的。

  • 執行效率

 這個命令用來測試一條命令執行的時間,一般而且,會重復100次運行這個命令,然后取出最好的3個結果取平均值。

還可以指定選項。

-n指定重復次數,默認100

-r是取多少個結果的平均值,默認是3

 

還有很多的magic命令,就不一一列舉,感興趣可以自己去嘗試。


 

參考:http://hyry.dip.jp/tech/slice/slice.html/35

http://kochiya.me/www/posts/Ipython!.html

http://www.cnblogs.com/zhuangzhuang1988/archive/2012/11/19/2777195.html

http://nbviewer.ipython.org/github/ipython/ipython/blob/3.x/examples/Index.ipynb


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM