當前位置:
首頁 > 最新 > 史上超強 Python 編輯器,竟然是張網頁!

史上超強 Python 編輯器,竟然是張網頁!

俗話說,磨刀不誤砍柴工,要想闖蕩編程世界,一套趁手的編輯器是必不可少的。對 Python 語言的使用者來說,不論你是剛開始學習編程知識的萌新小蛇,還是已經有了許多編程經驗的巨蟒大佬,今天介紹的這款神器,一定能給你的學習、工作帶來許多助益。

——當然,前提是你能正常訪問 Google 的服務。

我需要什麼樣的編輯器?

世上並不存在絕對完美的編輯器,但就日常使用需求而言,起碼需要滿足以下幾點,才算是一款「老少咸宜」的優秀的編輯器:

1.安裝配置難度低

用戶不需要很複雜的設置或調整系統選項,就能運行良好。相比之下,一些功能強大的專業 IDE 例如 Eclipse 就需要耗費許多時間進行安裝和配置。

2.易用性好

學習曲線一定要平緩,不能一來就把新用戶給嚇跑了。VIM 編輯器可以說是非常厲害了,然而第一次使用的時候,你可能連退出都搞不定。

3.功能強大

除了必備的代碼著色,各種運行調試功能也不能少。想來應該不會有人用記事本寫代碼吧?

4.包括版本管理或團隊協作功能

其實這算是一個錦上添花的功能,團隊協作能讓多人共同完成任務,版本控制可以讓你方便地追蹤回退你的代碼版本,這也為開發大規模應用打下良好的基礎。

好了,賣了這麼多關子,下面容我向你鄭重推薦這款超強的 Python 編輯器——Google Colaboratory!

這就是個網頁!?

沒錯,Colab 是一個免費的 Jupyter Notebook 環境(你可以想成是網頁版多功能筆記本),它不需要進行任何設置就可以使用,並且完全在雲端運行。

你可以在這個網頁上編寫和執行代碼、保存和共享分析結果,並利用 Google 提供的強大計算資源處理數據,所有這些都可通過瀏覽器免費使用。

別不相信,我這就帶你詳細了解一下:

01

界面友好

在詳細介紹它的強大功能之前,我們先來認識一下 Colab 的界面。

和 Jupyter Notebook 一樣,Colab 的編輯界面也是以「單元格」為基本單位,每個單元格都是「代碼」或「文字」其中之一。

代碼單元格自帶代碼著色,可以開啟行號顯示、縮進字元調整等功能,還能直接在頁面上運行代碼,運行結果會直接顯示在代碼單元格下方。除了 Python 代碼外,Colab 還支持解析 html 標記,運行 bash 命令等。

如果代碼有問題,則會顯示一些精心著色並格式化了的錯誤信息,幫助你找到出錯的地方——甚至還很貼心地提供了一個「一鍵求助」按鈕,讓你能在 stackoverflow.com 上搜索對應的出錯信息。

文字單元格用於在代碼之間添加描述性文字,你可以用它解釋代碼內容、做筆記、寫論文,你可以用 Markdown 標記語言來給單元格內的文字添加格式,甚至插入圖片等。

這種圖文並茂,代碼和數據交相輝映的顯示方式,非常適合學習 Python 的新手,以及搞數據分析的科學家們。

怎麼樣,在這樣的界面上寫代碼是不是很簡潔明快呀?

此外,作為一個網頁版的編輯器,它無需安裝和過多配置,基本上達到了「開箱即用」,寫完就能運行的效果,降低了初學者入門的門檻,也節省了老手開始工作前的配置時間。再加上雲服務天生的跨平台跨設備特性,不管是台式機、筆記本、平板電腦甚至手機,只要有網路的地方,你都能隨時繼續手頭的工作,絕對不會丟失數據。

02

功能強大

在平易近人的外表下,隱藏的是一顆強大的芯。

在代碼中,你不但可以用 Python 語言引入各種標準庫供你使用,還可以利用 bash 語言的支持,手動安裝你需要的各類第三方庫。甚至連數據分析用的 Pandas、Numpy,機器學習的 TensorFlow 等都已經內置了。

不僅如此,和跑在自己電腦上的 Jupyter Notebook 環境最大不同之處是,Colab 使用的是 Google 的後台運行時服務,這就相當於你擁有了一台隨時待命的專屬伺服器。這個伺服器自帶有 12G的內存和50G的硬碟空間,用於容納、處理你的數據和代碼。

比如,當你在坐車或者是無聊的會議當中的時候,突然想到一個點子,「我這樣構建我的模型行不行?」在以往,只有輕便的上網本或者手機的時候,雖然這些設備的算力可以解決一些微小數據集上的問題,但如果要將模型用於大數據集的時候肯定是需要額外算力的。那麼在 5G 網路等等的基礎上,你可以用手機通過 Colab 直接連上伺服器,用 Google 的算力來運算你對模型的調整。

為了用戶能更高效地運行調整機器學習代碼,Google 還提供了一些 GPU(Tesla K80)和 TPU(據說是八核心的TPU v2)的加速硬體,你只需要在筆記本設置里啟用,就可以用到這些額外的運算能力——按照機器之心網站的測試,用 CPU 迭代一次需要運行 2.44 秒的代碼,用 GPU 只需要約 280 毫秒,而通過修改代碼調用 TPU 進行運算,類似的工作量只需要 1.22 毫秒!這幾乎快了 2000 倍呢!

最後,Google Colab 最大的優勢還在於,它通過雲計算讓用戶擺脫了裝備的限制,再也不用擔心自己的電腦太爛,不管什麼設備,只要能連上 Google 的網路服務,就可以使用雲端的虛擬機,處理雲端的數據集。

當然,如果你嫌 Google 提供的運行時不夠快,或是需要長時間掛著執行高速運算,你也可以在界面上選擇連接到電腦本地的代碼執行程序,用你自定義的軟體/硬體來處理你存放在 Colab 上的代碼。

03

協作與代碼管理

實時協作可以算是 Google 一向的強項啦。在 Colab 里,你可以像分享普通的 Google 文檔或電子表格一樣,通過郵件邀請或是分享鏈接的方式,讓其他人閱讀/參與到你的代碼工作中來。

你也可以通過往 Google 雲端硬碟上傳/下載筆記本文件(.ipynb)的方式,分享、保存、發送你的筆記本的所有內容(文本、代碼和輸出項)。當然,你可以在「筆記本設置」里選擇在保存或分享筆記本時忽略代碼單元格輸出項,讓頁面更加簡潔。

此外,Colab 還支持基於檢查點的歷史版本管理,你可以方便地回退歷史記錄,查詢修改情況,還能接入 Github 代碼庫,把代碼上傳到 Github 倉庫或者 gist 里,管理、共享你的代碼和分析成果。

04

有趣的小彩蛋

最新版本的 Colab 支持換膚功能(……),你可以在設置里選擇深色或者淺色的主題背景(據說深色主題能大大增強你的編程水平),選擇柯基模式會讓你的標題欄出現兩隻奔跑的柯基,選擇威力等級(超強power模式),可以讓你的每次鍵盤輸入都震動整個窗口……

我能用它做什麼?

如果你是剛開始學習 Python 的新人,那它是你入門學習語言的最好工具之一。無需安裝配置,即開即用的 Python 環境,能讓你方便快捷地測試自己的學習代碼,並且在同一個頁面里直觀地看到程序的輸出內容。這能夠極大地加快試錯和探索的速度,讓你更快地掌握新語言的特性。

如果你是計算機專業的教師,Colab 甚至提供了一套布置、批改作業的系統,利用筆記本能把題目、代碼、運行結果整合在同一個頁面上的功能,你可以方便地查看每道問題的作答情況,並對具體單元格進行審閱、批註、打分。

如果你是計算機科學家,Colab 這種自帶雲計算、方便協作的環境能極大地提高你的工作效率。

在數據分析方面,Google 給出了在 Colab 里使用 Pandas 處理數據,並進行分析的詳細教程,你可以使用類似的方法讀取在線數據集中的數據,並進行分析。

在神經網路框架方面,TensorFlow 官方就放出了幾個例子,其中讓人最印象深刻的是在 Colab 上調用神經網路自動分析圖像識別癌症的實例。

此外,對於機器學習的研究者,在實際工作中往往會遇到「在什麼時候該用什麼樣的模型」的問題,特別是在調試具體模型時,往往會有很多操作細節是調用者所不明白的。在這種情況下,雲計算埠能夠提供的是一個合作的窗口,通過共享工作筆記本的形式,其他人可以直接對你的模型提出具體的調整建議。

怎麼樣,對這個超強的「大玩具」,你心動了嗎?

*感謝 @政委祖爾阿巴 的想法分享

參考資料和圖片來源:

1.這件神器,每個 Python 學習者都值得一試

2.[官方文檔]歡迎使用 Colaboratory!

3.[官方推特]@GoogleColab

4.機器之心網站

5.pixabay.com

優達學城(Udacity)是由 Google 無人車之父 Sebastian Thrun 創立的終身學習平台,與 Google、Facebook、騰訊微信等打造前沿技術課程,讓你在家學習數據分析、深度學習、無人駕駛等核心技能。

歡迎個人轉發到朋友圈

太厲害了!

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 我是科學家iScientist 的精彩文章:

我想讓幾何機器人摸爬滾打,成為美麗的強者造福人類

TAG:我是科學家iScientist |