雖然這樣的破題法有點老氣...但是...我還是要說... 😎
你曾經感到對Python需要軟體的下載安裝,或是硬體需求感到頭痛嗎?
你曾經覺得使用Jupyter Notebook要每次啟動server才能使用很麻煩嗎?
今天我們就來跟大家介紹一下Google的Colab!
Colab (全名:Colaboratory)是一個Google的線上產品,能夠讓我們編輯並且執行Python程式的雲端平台。內建許多常用的Python套件,是一個相當熱門的Python及Data Science教學與實作工具。
介面相當簡單直覺,如果有用過Jupyter Notebook的人應該馬上就可以上手。跟其他的Google產品一樣,不但可將檔案存在你的Google Drive,還可以輕鬆的分享給其他人!
OK, 話不多說,首先進入Colab的網頁,來看一下Colab的使用介面:
一進去,類似這樣的頁面會跳出來,同時給我們不少選項(包括一些範例)。這裡我們就直接開一個新的notebook:
接著會跳出以下的介面,在左上角可以看到檔名。原始設定(default)叫做Untitled.ipynb,如果有同樣的檔名已存在,它會自動加個流水號數字在後面(像是Untitled1.ipynb)以作區隔。當你去按一下它就可以改變檔名。
OK,基本上這樣你可以開始寫Code了(會不會太容易啊)!
我們將Code寫入Cell(上圖打Code的地方稱之為Cell)中,然後點左邊的按鈕即可執行。
Cool! Happy coding~謝謝大家收看。
⋯⋯好啦,是有這麼偷懶 😝
當然還沒完。
今天的重點,我們要來看看幾個Colab提供的相當酷的功能!
Text格式
首先要看的是,除了Code以外,Colab的Cell還有另外一種模式:Text
Colab建立在Jupyter Notebook之上,身為一個熱門的Data Science的平台,除了寫程式以外,它還有一個重要的目的:能讓使用者直接用來跟非技術人員分享。這時候,清楚易讀的介面就相當重要了。
Text模式能夠讓我們做出各種文字的格式及排版,有助於方便閱讀及美觀。
當你選擇 + Text的時候,跳出來的新的Cell屬於Text的模式。
Text模式除了可以讓你做一般打字外,最主要是它應用Markdown語法,來呈現你要的文字型式或Style。
舉例來說,當你用 句子的最前面加上”#" 的話,整個句子就會變大變粗,形成所謂的標題
(heading) 。如果你用 "##" 話就會形成次標題(小一點的標題)。用"###"的話就是次次標題,以此類推...
其他還有像是粗體的話會用 兩個星號(** )把內容包起來。不過其實在Colab上,你可以直接用選的,所以記不住(或者懶得查)這些語法也不是問題(純Jupyter Notebook就沒這麼好了)。參考下圖:
Colab的Text模式還有一個相當酷的功能,就是可以生成數學公式的文字圖像:
譬如說如果你打:
$e^x=\sum_{i=0}^\infty \frac{1}{i!}x^i$
Colab利用Latex的語法來製作數學圖形,有興趣可以參考這裡 。
使用樣本Code
我們在使用一些第三方的Python Library的時候往往會需要去查詢它的API的使用方法,甚至有時候就是單純Copy & Paste。這很正常,除非是經常使用,不然大部分的情況都不太會刻意記下這些特殊函數的使用方法。
Colab有針對一些好用但較複雜的程式功能提供一些內建的code example,省去我們不少麻煩。
看看以下的例子:
在介面左邊點一下 "< >" 的圖形,之後就可以選擇或者用關鍵字來過濾你有興趣的Code範例(Code snipets)。這裡我們打入"Visual" ,它就會跳出一些跟圖像有關的例子。你可以使用 "Insert"來將Code範例加入你的Cell裡,然後直接執行它!
上面看到的例子是Colab採用Altair的圖形支援,幫助我們製作精美又強大的圖形功能,大大的降低了學習的時間及門檻喔~
其他還有許多好用又有趣的Code範例,之後有機會可以再寫一些相關的文章。
使用Form來輸入Input Variable
假設你有一個這樣的程式來計算BMI(身體質量指數):
weight_kg = 80
height_m = 1.75
BMI = weight_kg / height_m ** 2
print(BMI)
當每次要改weight_kg和height_m這兩個Variable的時候,都要到Code的部分去改,是不是有點麻煩?
尤其如果你想要分享這個功能的時候,是不是希望其他人可以直接輸入Input的數值(不需要去改Code),就可以看到BMI的結果?
這裡我們可以利用Colab的Form功能來做一個互動式的輸入表格!
利用在variable的定義後面加上 #@param {type: "number"} 這樣的語法,Colab會製造出表格(Form)的形式,讓我們可用輸入數值的方式來改變執行的結果。
如果想要把Code給隱藏起來,只需要在表格的部分點兩下(double click)就好了。
我們也可以利用Colab提供的部件(widget)來編修表格,
譬如說,加上標題 BMI Calculator:
透過這種方式,我們可以利用Colab來做出簡單的使用者互動介面(UI),只要一個連結就可以分享給其他人喔!
結語
今天簡單的介紹了Colab的介面以及一些功能。
當然Colab還有許多其他強大的功能,其中一個我覺得相當有用的就是跟Google工具的整合。譬如說:Google Sheet。由於Google Sheet跟Microsoft Excel的很多功能都互通,不需要安裝(又免費)以及方便共享,最近我們看到的趨勢,大家慢慢從Excel轉換到雲端的Google Sheets。
Colab提供了一個平台能夠讓我們跟輕易的跟這些Google產品做自動化(Automation)的作業整合!如果大家有興趣想要看這一類的文章請跟我們說 😃!
最後,如果你比較習慣中文介面的話,雖然不是全部,但Google Colab大部分的頁面也有對應中文喔!
Yorumlar