推薦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程式編輯學習愉快!

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

往下滑看下一篇文章
從商務卡到虛擬財務長,Mastercard如何把支付變成企業決策力
從商務卡到虛擬財務長,Mastercard如何把支付變成企業決策力

員工自行墊付差旅、採購、雲端訂閱或廣告費,月底再拿著單據報帳;不同部門各自綁定信用卡,企業難以即時掌握支出;員工離職後,若原有付款設定沒有同步移轉,也可能影響後續業務運作。這些看似零碎的支付問題,背後都涉及一個關鍵議題:中小企業能否更有效率的管控資金。

對資源有限的中小企業而言,支付管理不只是財務部門的行政工作,當支出分散、現金流難以預測,甚至連跨境匯款都存在時間與到帳金額的不確定性,企業的營運效率與成長速度都可能受到影響。

為協助中小企業解決上述挑戰,萬事達卡(Mastercard)提供端到端商務解決方案–虛擬卡、車隊卡、跨境匯款服務到Virtual C-Suite,讓支付從單純的交易工具,轉化為企業管理資金與做決策的基礎。

以商務卡結合虛擬卡,讓每一筆支出更可控

Mastercard台灣區董事總經理陳懿文指出,中小企業目前常見的支付方式主要是信用卡與轉帳,若大量依賴員工代墊,不僅增加報帳與核銷成本,也讓企業難以即時掌握整體支出。「導入商務卡後,企業可以將原先分散在員工身上的支出收回企業管理,同時,進一步設定使用規則,例如限定交易商家、金額、消費類別、使用期間或國家,讓企業對資金使用建立更細緻的控管機制。」

除了支付管理,商務卡也能進一步降低企業日常營運成本。陳懿文表示,商務卡持卡人可透過商務優惠計畫Easy Saving Specials,取得Google Workspace、Shopify、LinkedIn、Notion、Sixt、 Agoda等品牌優惠,涵蓋雲端服務、電商營運與數位行銷等企業常見支出。

虛擬卡的In Control平台則讓支付管理變得更精準。例如,企業可以針對特定通路建立虛擬卡號,讓員工綁定手機支付差旅費;也可以針對單筆訂單產生一次性虛擬卡號,直接將付款與訂單串聯,後續再透過虛擬卡號進行核銷與對帳,降低人工處理成本。

透過Commercial Connect API,企業可以把虛擬卡功能整合進既有的企業資源規劃(ERP)系統、採購或費用管理系統,從發卡、付款到後續管理,都能在原本熟悉的平台上完成。目前相關方案已整合SAP Concur、SAP Taulia、Pay4You、Grasp Technologies與Kresus等平台,也支援企業自行建置的客製化ERP系統。

#2 萬事達卡
Mastercard台灣區董事總經理陳懿文:「我們以每年1,750億筆交易的資料為基礎,將中小企業每一個進出與支付節點問題,逐步設計出不同的解方,一步步實踐『支付至簡,商業致遠』的願景。」
圖/ 數位時代

從車隊卡到跨境匯款,助中小企業降低營運不確定性

對物流、運輸等擁有大量車輛的企業來說,加油、維修是每天都會發生的固定支出,過去,不同加油站可能需要不同儲值卡,管理不易,也可能因支付問題影響車輛調度與運輸,導入Mastercard的車隊卡後,問題不復存在。

企業可以限定卡片只能用於加油、維修、停車等特定商用項目,並進一步將卡片與車號或駕駛人建立關聯,例如一張卡對應一台車或一位駕駛,或讓駕駛人以虛擬卡支付車輛所需費用。對企業來說,這不只是換一張卡,而是把原本分散的車隊支出納入同一套管理架構,在維持車輛正常運作的同時,也提高資金使用的透明度。

同樣的邏輯,也延伸到日益增加的跨境匯款需求。隨著中小企業將業務版圖擴展到海外市場,對跨境匯款的需求將隨之攀升,若仍以傳統的方式進行跨境匯款,不僅得等候長達1到3天的匯款時間、也常因為中轉銀行收取費用導致到帳金額有落差,更不用說即時追蹤匯款進度,一旦款項延遲或金額出現落差,就可能進一步影響對帳與供應鏈運作。

為解決上述挑戰,Mastercard推出Mastercard Move,讓中小企業可以輕鬆掌握每一筆匯款的狀態,以更有效率的方式完成跨境匯款,全球60%的市場可於1小時內到帳、95%的市場1天內可到帳,同時,以全額到帳降低到帳金額不確定帶來的營運風險。

從掌握現在到預見未來,Mastercard用Virtual C-Suite把數據變成經營洞察

協助中小企業以商務支付方案優化支付與資金管理後,Mastercard接下來思考的是,知道錢花在哪裡後,若能進一步知道未來會發生什麼,創造的商業價值更高。如果支付數據不只是用來對帳,而能進一步回答「未來現金流會怎麼變化」、「現在適不適合擴張」、「企業的成長速度是否落後同業」,支付的價值就會從管理工具進一步提升為決策工具。

而這也是Mastercard會推出Virtual C-Suite的原因,目標是讓資源相對有限的中小企業也可以透過數據分析洞悉未來局勢。

萬事達卡
面對中小企業痛點,Mastercard提供全方位的解決方案。
圖/ 數位時代

陳懿文表示:「我們以每年1,750億筆交易的資料為基礎,再結合企業自身的財務數據推出Virtual C-Suite服務,其中預計Virtual CFO功能將在今年底於特定市場試點營運。中小企業只要將銀行與交易等數據上傳到平台、或者是透過API串聯財務系統或發卡行的網路銀行,即可協助企業掌握財務健康、預測現金流,以及進行同業比較。」

Virtual CFO就像中小企業虛擬財務長,透過對話式問答,不僅能從支付數據中找出企業忽略的議題,還會提供可執行的專業建議,讓企業看見下一步,進而提升營運韌性與績效。

舉例來說,一家餐廳營收持續成長,卻可能因為平台款項較晚入帳、食材需要即時付款,造成現金流壓力;對餐廳營運者來說,問題倒不是「有沒有賺錢」,而是「錢什麼時候進來」的現金流管理,Virtual CFO在協助其挖掘出這個議題後,將進一步從收付款週期找出落差,再協助企業評估付款條件、付款時間等調整方式。

同樣的情況也可能發生在企業擴張時。接到新客戶或大訂單,看起來是成長機會,但如果資金準備不足,反而可能增加營運壓力,透過Virtual CFO,企業可以預測未來現金流,再決定是否擴張據點,以及確切的時間。同業比較則提供另一個分析角度,舉例一家自行車店的年營收成長15%,單看數字會覺得營收數據亮眼;但若Virtual CFO進一步比較同業數據後發現平均成長率是30%,將重新思考成長速度,建議主推商品、調整客單價,以及進行相應的行銷投入。

從商務卡到虛擬財務長,Mastercard提供的不是單一產品,而是一套隨企業成長逐步疊加的支付管理層次——先把分散的支出收回可控範圍,再透過數據預見現金流與擴張時機。對於還在用員工代墊、多張信用卡管理支出的中小企業來說,第一步不必等到導入Virtual CFO,從申請一張商務卡、設定使用規則開始,就能踏出第一步。從商務支付方案到Virtual CFO服務,Mastercard致力實踐「支付至簡,商業致遠」的願景:當支付流程更簡單、資金流向更透明,數據便能成為企業決策的依據,協助中小企業從掌握當下,進一步預見未來。

登入數位時代會員

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

每日推播重點文章

閱讀會員專屬文章

請先登入數位時代會員

看更多獨享內容

請先登入數位時代會員

開啟收藏文章功能,

請先登入數位時代會員

開啟訂閱文章分類功能,

請先登入數位時代會員

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