人工智能時代,是時候學點Python了

“是時候學點Python了”。作為一名不怎么安分的程序員,你或許覺得,產生這樣的想法并不奇怪,但學習Python卻是出于自己對工作現狀以及如何應對未來挑戰所作出的思考。讀過我以前博客的朋友,可能都知道,我推崇軟件領域中的匠人精神,將軟件開發也視為一種制作,并將優秀的產品歸納為功能性與美感的結合。這在過去或許是普遍適用的優秀產品準則,然而,今天當我們已經站到人工智能時代的大門前時,我卻發現過去對于軟件產品的理解,已顯得有些狹隘且過時了。未來所有的優秀產品都應該是功能、美感與智能的有機結合。而這種新的智能特性無疑會給我們每一個人帶來巨大的機遇,不僅僅是我們程序員,也包括那些醫生、教師、金融從業人員亦或是學生,或正在為孩子想著學些什么的家長,每個人都有機會通過將智能引入自己的工作、產品、生活中,去獲得新的成功。而今天我們放眼整個軟件開發領域,Python無疑是那個最能為我們帶來這一智能特性的編程語言。

那么,又是什么原因使Python能在眾多編程語言中脫穎而出,它又具有哪些迷人的特性呢?

數據科學基因帶來的智能特性

Python在今天變得如此重要,一個重要的原因便是它能更方便地為我們的工作以及生活創造智能的特性。人工智能在最近幾年得到突飛猛進的發展,其根本原因并不在于其理論基礎發生了根本性的變化。而恰恰在于,互聯網飛速發展之后,積累的大量可供分析的數據,以及對這些數據進行處理、分析以及預測的能力的顯著提升(包括云計算提供的強大分布式運算能力,摩爾定律下每一個計算單元成本的持續降低,加之以神經網絡為代表的深度學習算法的應用),使我們得到了超乎想象的人工智能。在很多領域,比如被視為人類智慧最頂尖的棋類游戲——圍棋,過去只有讀過那些名校才能得到的投行工作,甚至是需要豐富經驗的醫生、律師、飛行員,這些專業性要求極高的工作,都越來越多地受到來自人工智能的挑戰,有的甚至已被完全超越。

雖然有人對此表示擔憂,但我卻持樂觀的態度,并相信這是加速回歸定律(技術的不斷加速是加速回歸定律的內涵和必然結果,這個定律描述了進化節奏的加快,以及進化過程中產物的指數增長。《奇點臨近》、《機器之心》等書中,都將此理論作為對未來預測的基礎)作用下的必然結果。況且就目前而言,那些可預見的人工智能,更多取代的是那些需要基于復雜模式進行精確識別與處理的工作,這返過來將會解放更多人力,使我們可以在人工智能的協助下,將更多時間和精力投入到更具創造性和情感價值的有趣工作中。

而Python正是以數據科學而聞名,它擁有著極其豐富且穩定的數據科學工具環境,從而助推其成為大數據和云計算中最流行的語言之一。而它的這種數據科學基因,也自然地延伸到了機器學習領域,今天,我們非常熟悉的眾多機器學習庫,如scikit-learn、Tensorflow等都基于或支持Python語言開發。我們可以很方便地使用它們,去構建自己的智能應用。

令人著迷數據分析與處理能力

Python被設計為有著廣泛通用性的編程語言,你幾乎可以利用它來做任何事情,包括創建Web應用或桌面應用、編寫程序腳本、配置服務器等等。但最令我著迷的還是它的看家本領——數據的分析與處理。我已經用JAVA寫了十多年代碼,也早已習慣使用它,處理工作中遇到的各種問題。但當我開始接觸Python之后,便立刻為它在數據處理與分析方面的強大功能與便利性而感到著迷。

雖然還只能算是個新手,但我已經嘗試著使用Pandas(全稱:Python Data Analysis Library,是一個基于 Numpy 構建的含有更高級數據結構和工具的數據分析包),寫了不少簡單的數據處理程序,這些程序都很短小,有的甚至才十幾行代碼,然而它們所能達到的效果,卻是以前用JAVA需要3倍,甚至更多的代碼量才能實現的。而且這些程序在運行速度和效率上,也絲毫不落下風,這點令我頗為驚喜。現在凡涉及到數據處理的工作,我都會優先選擇Python。雖然只是換了一種編程語言,但這一改變卻已著實大大提升了我的工作效率。

這不禁又讓我想到最近讀到的一篇非常有趣的文章,說的是一個醫生如何通過自學Python,將一些智能分析算法應用于病人診斷數據比對,以及超聲圖像分析,使自己從過去復雜而重復的工作中解放出來,變得效率倍增的故事。我暗想,這應該是個頗有遠見的醫生,利用Python賦予的數據處理能力,將智能引入到自己的工作和生活中,一切便隨之發生了改變。其實,和這位醫生一樣,我們很多人的工作都是與數據或圖像打交道,并基于一定的模式去處理它們,何不學學那位醫生,也學點Python,然后嘗試著去改變一下自己的工作和生活呢?

簡單、可靠、高效

還是讓我們回到語言本身,很多人會將Python稱為一門優雅的編程語言。關于編程語言的美學問題,不在這篇文章的探究范圍內,但Python留給我這個老程序員的印象,概括起來便是:簡單、可靠、高效。打個可能不太恰當的比方,它像極了紅樓夢中的經典人物形象:王熙鳳,雷厲風行,三下五除二便把一件復雜的事情處理得干干凈凈,毫不拖泥帶水。這可能也正是我越來越喜歡它的原因吧。

簡單

我前后接觸過不少編程語言,對我來說開發語言的語義都大致相同,而在語法上,Python無疑是簡單而精煉的,它似乎生來就是為程序員編碼效率而考慮的編程語言。這一點可能也與Python本身是一門解釋型語言有關。很多在其他編程語言編譯階段,需要給出的類型限制或約束,在Python中都可以省略。從下面兩個簡單的Python與Java對比的例子中,你也一定能看出Python語言簡潔的特點。

另外,Python語言也被設計得更接近于自然語言,比如:在Python中并沒有使用很多編程語言中用的"{}"來限定代碼塊,而完全采用縮進的方式加以限制。雖然很多程序員一開始會覺得不太習慣,但這卻在不經意間,使Python代碼更為整潔、一致,也就提供了更加良好的可讀性。

可靠

Python非常可靠,你可以將它使用在任何場景中,比如網頁開發、PC應用程序、數據處理、移動應用程序、硬件等等。而且在幾乎每一個領域,Python都提供了非常穩定且可靠的框架或第三方庫,從用于構建Web應用的Django,科學計算領域的NumPyPandasSciPy,機器學習領域大名鼎鼎的scikit-learn,以及用于自然語言處理的nltk,你可以利用它們,輕松地構建不同用途的應用。并且,由于Python本身便是跨平臺的,你也不必擔心兼容性的問題。

高效

高效似乎一直與Python這樣的解釋型語言無關,然而,Python卻有其獨到之處。由于Python本身能夠非常方便地調用更底層的第三方庫,而那些底層庫大多又是用C或C++語言編寫的,因此借助Python的這種粘合劑能力,許多著名的第三方庫包括Python本身都能以更好的性能運行。即使在不同的平臺,你也不必擔心性能損失。

Google的支持以及一個強大的社區

Python并不是一個很新的編程語言了,它誕生于1991年,由于是免費的,你可以很方便地獲得它。Google從2006年起開始大力資助Python的發展。這對Python非常重要,因為這意味著,像Google這樣的科技巨頭,在很多優秀的項目中都會優先選擇Python,而在此過程中,Google創建了大量的Python指南和教程以及支持工具。這也反過來幫助更多小企業以及它們的開發人員加入到Python開發者的陣營中。

另一個使Python如此快速發展的重要原因是,它的背后有著一個健康、活躍的開發者社區。他們不但貢獻了大量文檔、指南、教程。還創建并維護著很多知名的Python第三方庫,開發人員可以非常方便的利用PIP下載這些第三方庫,并在自己的項目中使用。另外,無論你是一個新手還是一個有經驗的開發人員,當你遇到任何Python有關的問題,都可以在社區中提問并獲得幫助。

適合教、容易學

如果讓我選擇一門編程語言用于教學的話,我首先會想到Python。不僅因為它簡單,更重要的原因是,它能更好地貼近于人工智能時代對于開發者新的編程技能要求。Python有很好的數據分析處理以及機器學習的工具包,能幫助學習者方便地將它們應用到實際的工作中。而如果教學對象是年紀更小的中小學生,那么,Python在數據科學方面的優秀特性,又能夠很好地啟發孩子們的數感,促進他們在數學方面的發展。

當然,Python語言本身具有清晰、簡潔的語法結構,更貼近于自然語言,運行高效,以及不需要構建、編譯便可以直接運行的特點也都非常適合于初學者學習。如果你正在考慮學習一門對未來有用的編程語言,那么Python無疑會是你的最佳選擇

如何開始

如果和我一樣,你也已經決定學習Python,那么一個良好的開始無疑會幫助你獲得成功。關于如何起步,我相信每個人都有自己不同的偏好。有些喜歡買書,比較系統地進行學習,比如:《笨辦法學編程》、《和孩子一起學編程》是針對成人或孩子不錯的Python入門書籍。有些則喜歡通過網上視頻學習,比如慕課網、網易云課堂、騰訊課堂等等,也都有不錯的Python入門課程,而且大多是免費的。還有一些喜歡用App以交互的方式學習,比如codedemy

而最近,我一直在用,也給我的孩子使用的學習平臺是sololearn。它以簡練的文字說明與代碼示例為主,配合每個知識點的問答測試,很適合初學者起步。此外,它還設計了一些很有特色的功能,比如:一個提供問答與討論的社區,可供代碼執行測試的PlayGround,發布代碼并接受他人的點評,編程能力挑戰,以及達到每一項成就便可獲得的獎章等等,這些都能激勵初學者們去不斷提升自己的編程能力,并鼓勵他們將所學到的東西應用到實踐中。

在Python領域,我還只能算是個初學者。我將Python視為自己的第二編程語言,去解決工作中經常遇到的數據處理、分析問題。我還希望通過學習那些優秀的機器學習庫,將智能引入到自己的工作中。相信我,你也不用成為這些方面的專家,只需要學一點Python,然后嘗試著去運用,它們便會像魔法一樣改變你的工作和生活。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,362評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,577評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,486評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,852評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,600評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,944評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,944評論 3 447
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,108評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,652評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,385評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,616評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,111評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,798評論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,205評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,537評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,334評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,570評論 2 379

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,748評論 25 708
  • # Python 資源大全中文版 我想很多程序員應該記得 GitHub 上有一個 Awesome - XXX 系列...
    aimaile閱讀 26,535評論 6 427
  • 其實不管嘴上再怎么說不怕孤獨,一個人挺好的,這些話。但是一個人出來的話,還是會有些害怕吧。沒有安全感,孤寂,形...
    M艷朵閱讀 125評論 0 0
  • 今天的精英論壇,我喜歡金融老師講得永遠18, 活波風趣,詩詞功底深厚。不虧是專業講師。 于達老師的自然放松,也是值...
    耿峰豐盛部落創始人閱讀 571評論 0 0
  • 最近,公司項目中用到了日歷,于是打算自己寫一下,下面做一下總結。要想實現日歷,首先需要知道一個月有多少天,再需要知...
    GemShi閱讀 1,772評論 0 0