推薦Python初學者的好用工具:Google Colab
推薦Python初學者的好用工具:Google Colab
2019.03.20 | Google

編按:本文作者為大學教授,這篇文章是他有關Python學習的方法分享。

這個學期,我在北德克薩斯大學(University of North Texas)教「INFO 5731: Computational Methods for Information Systems」課程,主要內容包括: Python基礎、自然語言處理,以及機器學習。

授課的對像是資訊科學、數據科學專業的碩士與博士研究生。跟在中國一樣,我依然使用翻轉教學(flipped instruction)方式。過去的幾週,我們把「Python基礎」部分學完了。

每週,我都會要求學生在課前閱讀兩本教材上的指定章節,然後把所有的程式碼自己重複一遍。在此基礎上,對每一段程式碼,學生都要自己試著進行一些改動。出錯也沒有關係,嘗試解決。

因為絕大部分學生,都是Python初學者。因此他們都會遇到以下的實際問題:

  • 不知道如何安裝和設置運行環境;
  • 遇到問題會慌亂,不知如何有效尋找解決方法;
  • 對於團隊作業,不知該如何有效協作;
  • 不懂得如何進行版本控制,程式碼越改越亂。

這些問題,也構成了學生的痛點。

如果不能有效加以解決,學生會把每週寶貴的學習時間,浪費到許多瑣碎的無用功上。更可能的情況,是他們的信心會被打擊,導致喪失學習的動力和興趣。

因此,我為他們找到了一款合適的Python練習工具。這裡,我把這款工具也分享給你。

這款工具,就是Google Colab。我曾經在〈如何免費雲端運行Python深度學習框架?〉一文中為你介紹過它,在〈如何用Python和循環神經網絡做中文文本分類?〉和〈如何用Python和循環神經網絡預測嚴重交通擁堵?〉裡,我也曾用它給你做過程式碼的展示。

下面,我給你們介紹一下如何用Google Colab應對上述的4個痛點,為你的Python練習提供輔助。

環境

新手最常見的問題,就是好不容易累積了學習的興趣,上手不久便遇到報錯。而Python新手遇到的許多錯誤,實際上都和環境的配置有關。例如說,Anaconda套件下載環節,你就不知道該選擇哪個版本。

好不容易安裝好了,因為路徑設置問題,連Jupyter Notebook都呼叫不出來。終於能輸入程式碼了。結果一輸入就提示,你要調用的模塊名稱,沒聽說過!

而這些,Google Colab都幫你處理好了。只需要打開一個瀏覽器(推薦Google Chrome或者Firefox),輸入:https://colab.research.google.com就可以看到以下頁面。

Google Colab
圖/ 作者提供

選擇新建Python 3筆記本,然後就能看到完全配置好的Python運行環境了。

Google Colab
圖/ 作者提供

對,就是這麼簡單。你可別小看這個運行環境,雖然你沒有執行任何安裝過程,但是它基本上涵蓋了你做數據科學分析要用到的各種工具,這些工具包括但不限於Numpy、Scipy、Pandas等,甚至連深度學習的框架,例如Tensorflow、Keras和Pytorch,也是一應俱全。

Google Colab的深度學習環境支援,可不只是軟體那麼簡單。Google慷慨的提供了GPU,甚至是更專業化的TPU,供你免費使用。

預設狀態下,這些雲端硬體是不開啟的。你需要在選單欄中選擇runtime,然後選擇Change runtime type,就可以看到不同硬體支援的選項了。

Google Colag
圖/ 作者提供

有的書籍樣例程式碼,甚至是Python組件,都需要Python 2環境才能運行,這也沒關係。點擊新建筆記本,你就能使用不同的Python版本。

細心的你會發現,在上面的「修改運行時設置」頁面裡,也可以隨時調整Python版本。

求助

作為新手,你遇到錯誤和問題,是完全正常的。而Python具有強大的社群,可以提供很多幫助。

但如果你嘗試過,便可能有一種錯覺——這些Python高手很不友善。因為你貼了問題,卻沒人理你。其實,這很可能是你問問題的方式不對。想想看,你籠統地說一個報錯資訊,可能的原因或許有數十甚至上百種,誰能幫你一一排除?這倒也罷了。可是你明明貼了一段程式碼,還給出了錯誤資訊的截圖啊,為什麼還是沒有人伸出援手?因為這些資訊,可能依然不夠。

想想看,你本機安裝了什麼樣的套件?其中的各種模塊,都分別是什麼版本?你執行當前程式碼有問題,那上下文是什麼?會不會是因為之前某個程式碼段落,影響了你當前段落的執行?你的作業系統,是否完全支援你正在使用的組件功能……這些可能性,無窮無盡。同樣,也沒有人這樣花時間幫你列舉。

但是有了Google Colab,你提問的效果卻可以大大提升。因為,你可以用最簡單的方法,讓潛在的回答者復現你的問題。這就是,把你的筆記本共享出去。如下圖,點擊筆記本右上角的Share按鈕。

Google Colab
圖/ 作者提供

在出現的對話框裡,注意選擇權限。選成可以瀏覽(view),就可以了。

然後,選擇「複製鏈接」,鏈接就到了你的剪切板裡面了。把它連同你的文字描述,直接貼到Python的論壇或者課程討論區裡。別人只需要點擊,就能查看你的全部程式碼、報錯資訊。而且,還能運行你的筆記副本。注意,雖然你倆可能用的是不同的作業系統、不同的瀏覽器,但因為都用了Google Colab,你們的Python環境是完全一致的。等到對方解決了問題,他還可以把完整的筆記本再用連結方式分享給你。你的問題於是迎刃而解。

問問題,只是尋求幫助的一個方面。在提問之前,你還是應該自己嘗試一下解決的。毫不願意思考,直接當伸手黨,社區裡的人很難喜歡跟你打交道。而Google Colab為你主動尋找問題答案提供了工具支持。每當你遇到報錯的時候,你都會看到下方有個按鈕。

Google Colab
圖/ 作者提供

點擊這個按鈕, Google Colab就會用搜尋引擎,在Stackoverflow這個IT問答站點上,幫你尋找相關報錯的已有答案。

Google Colab
圖/ 作者提供

一般來說,點擊前幾條資訊,你就會有收穫。例如這次,你就很幸運,因為答案明確說明,這是因為Python版本帶來的差異。你只需要根據提示,進行程式碼的輕微調整,就能正常運行了。

協作

不知你有沒有嘗試過跟人協作編寫程式碼?我的課上,是有小組作業的。要求學生2–3人一組,一起用Python解決問題。有的人,是這樣協作的:自己寫一段程式碼,用郵件傳給對方;對方改完,發回來;自己在上面修改添加,再發回去……

這樣顯然效率很低。有沒有高效的方法?當然有。依然利用我們剛才已經見到過的共享功能。

只是這一次,在選擇權限的時候,給對方「可修改」權限。

Google Colab
圖/ 作者提供

例如還是剛才的print命令沒有加括號的問題。只不過這次,對方除了能看到你的問題,還可以直接編輯。你的協作者,新建了一個代碼塊,並且輸入了正確的資訊。

在你這裡看起來,就是這個樣子的。協作者的頭像,會顯示在對應的修改內容旁邊。這樣一目了然。

Google Colab
圖/ 作者提供

對方還可以在程式碼塊旁,選擇添加註釋。

Google Colab
圖/ 作者提供

例如輸入以下內容。

Google Colab
圖/ 作者提供

你可以同步在自己的筆記本上,看到對方的註釋。

Google Colab
圖/ 作者提供

這樣一來,團隊協作Python練習溝通的效率,自然就高了許多。

注意,為了安全起見,一定只能把該權限,限定在你信任的協作者中。

如果是打算把你的成果展示出來,你可以使用Google Colab與Github的集成功能。如下圖,選擇保存副本到Github。

Google Colab
圖/ 作者提供

然後,選擇你希望保存到的Github專案。

保存完畢後,對應的Github頁面會自動打開,供你預覽。其中可以包含全部的文字、圖片、程式碼和輸出訊息。注意筆記本的頂部,有一個「在Colab打開」的連結。

Google Colab
圖/ 作者提供

點擊它,你就能迅速開啟Google Colab環境,並且直接運行這個Github上的筆記副本。

版本

當你不停地嘗試和改動代碼的時候,很有可能會把問題改得更加糟糕。這時候,你恨不得有一個時光機,可以讓你回到錯誤少一點的時候。這個時光機,Google Colab是提供了的。

點擊選單裡面的Revision history功能,你就能看到當前筆記本已保存的全部歷史版本,包括修改時間、誰改的、文件大小等各種資訊,一應俱全,想回到哪個版本,點一下「恢復」按鈕就可以了。

另外,你也可以把Google Colab筆記本,直接下載成為ipynb文件,在本地保存副本。

一定要注意選擇需要的儲存路徑,避免不知存到哪裡去了。

Google Colab
圖/ 作者提供

我一般讓學生交作業的時候,都需要同時提交Google Colab連結,以及一個ipynb文件。二者的內容,應該是一樣的。既然如此,為什麼還需要提交兩樣東西呢?這個問題,作為思考題,留給你。請注意聯繫本節標題,加以分析。

有了ipynb文件,你可以用本地的Jupyter Notebook開啟。但是如果你只是想查看內容的話,這裡給你推薦一個更好的工具,叫做nteract。它可以幫你直接開啟ipynb文件,用於查看。這樣,你就沒必要每次都用Jupyter Notebook命令開啟後台服務,然後再到瀏覽器中點開對應的ipynb了。

小結

還記得在《如何高效學Python ?》一文中,我給你推薦過的經典教材《笨辦法學Python》吧?

《笨辦法學Python》指出了一條看似笨拙,卻非常有效的學習路徑。我上課的時候,也一直在跟學生們強調——Python這樣的實踐類技能,只能練中學(Learn by doing)。

本文給你推薦的Google Colab,可以幫你解決Python初學者練習實踐Python程式編輯時,最常遇到的幾大痛點。包括:

  • 自動配置
  • 有效求助
  • 協作程式編輯
  • 版本控制

這樣一來,你可以把寶貴的時間,聚焦在技能的掌握和應用;而不是久病成醫,成為「環境配置專家」了。

祝Python程式編輯學習愉快!

本文授權轉載自:少數派;作者:玉樹芝蘭

往下滑看下一篇文章
高端客鎖定北市大安區 一線品牌+千坪基地成為關鍵字
高端客鎖定北市大安區 一線品牌+千坪基地成為關鍵字

台北房市買氣回流至蛋黃區!在台北市土地資源稀缺之下,僅有靠著都更改建才能整合出大面積的基地,也造就台北市大都更時代來臨,因此頂級地段今年以來湧現指標都更潮。舉凡北市中心今年來精華地段皆有大案重磅登場,受惠於海外回流族群、高資產配置需求,以及市中心舊屋換新屋浪潮,高端住宅仍受到買方青睞,成為目前台北市房市指標。

甲桂林
城市中的超級蛋黃區,指標大案是新富菁英關注焦點。
圖/ 甲桂林

大安區都更大案 獲得在地大安人青睞

以近年北市中心都更改建大案齊發的大安區來看,從富邦藝庭、耑岫、吾雙,再到近期由富邦建設整合推出的稀有千坪基地「富藝居」,皆位處超級蛋黃區。不動產業者表示,對於大安區的客層,不論老錢或新貴不約而同都對大安區都有地緣環境上的偏愛,因此區域房市買氣長年呈現溫和穩健態勢,對此類高端客而言,大安區的指標案正是頂級居所首選標的。依目前大安區預售屋單價多數站上「200 萬俱樂部」,對買家來說,只怕產品不夠好、不怕價高不出手。

房市業者表示,今年台股表現突破新高後,市場游資充足,但受限於貸款環境保守,現下房市回歸個案表現,首先,地段仍是不動產身價保證的必要條件,其次,產品規劃仍是高端客的重點考量,最後,品牌建商的推案也成為建案的身價品質保證。對許多菁英族群來說「富藝居」在生活機能上,不僅串連大安森林公園、信義計劃區、忠孝復興站,在交通上位處捷運大安站信義路軸線,是自然與時尚之間的最核心地段。

甲桂林
自然與時尚,「富藝居」帶動高端住宅生活新體驗。
圖/ 甲桂林

新世代高資產客的購屋思維:大基地、大品牌、多元化

有鑑於大安區大面積素地稀有罕見,長年能大規模推案極少,因此區域呈現量少價穩、具備保值條件,在景氣波動時更顯抗跌優勢,加上「富藝居」產品定位為 27 至 45 坪二至三房的中小坪數規劃,不僅符合現下市場剛性需求,更能滿足高端菁英的多元資產配置需求。

甲桂林
「富藝居」產品多元化,讓高端客群資產佈局更靈活。
圖/ 甲桂林

登入數位時代會員

開啟專屬自己的主題內容,

每日推播重點文章

閱讀會員專屬文章

請先登入數位時代會員

看更多獨享內容

請先登入數位時代會員

開啟收藏文章功能,

請先登入數位時代會員

開啟訂閱文章分類功能,

請先登入數位時代會員

我還不是會員, 註冊去!
追蹤我們
進擊的機器人
© 2026 Business Next Media Corp. All Rights Reserved. 本網站內容未經允許,不得轉載。
106 台北市大安區光復南路102號9樓