潘石屹考了99分的Python,到底是什麼樣的存在?

2020-12-24 鈦媒體APP

圖片來源@視覺中國

文丨腦極體

去年,當地產大佬潘石屹要把學習Python作為生日禮物送給自己的時候,微博上還多是一陣調侃之聲。可能正是印證了Python程式設計師們常常掛在嘴邊的「人生苦短,就學Python」的口頭禪,時年56歲的小潘同學要再一次抓住「青春」的尾巴吧。

為督促自己學習,小潘還在微博專門設置了一個#潘石屹用Python解決100個問題#的話題,鼓勵全民圍觀,監督他的Python學習計劃。顯然,幾個月的堅持,讓小潘同學的Python學習有了初步的成果。5月16號,他在參加完NCT全國青少年編程能力等級測試 Python 編程一級考試後,曬出了99分的優秀成績單。

至於為啥要學Python,樸實的潘總在接受媒體採訪時表示,人到50歲以後一定要學點新東西,以防止老年痴呆。

但為什麼選擇要學一個自己完全不懂的Python語言,這還是他在請教了李開復之後得到的啟發:Python語言是現在全世界使用最多的一個程式語言,也是非常成熟的一個語言。

最主要的呢?

未來社會是一個人工智慧的社會,學習Python是打開人工智慧時代的鑰匙。

Python對於人工智慧很重要,對很多關注AI的人們來說想必是個基本常識,但是對於大部分並非專業從事編程的人,比如我來說,Python到底有多重要,其實還是一頭霧水的。

於是我默默地拿起了一本《Python編程:從入門到實踐》……

額,短期學會有點不太現實。我還是本著謙虛好學的態度,梳理下專業人士的觀點,來儘可能地搞清楚「Python之於AI」是一種怎樣的存在吧?

Python為何能這麼流行?

衡量一門程式語言受歡迎程度的重要指標,可以參考其在Stack Overflow(一家IT問答社區)上面的標籤數量。下圖是近10年來全世界最主要的幾種程式語言在社區平臺的問答帖子中的標籤數量的趨勢圖。

從2012年之後,Python就一直處在穩步上升的趨勢,與此相對照的是其他主流程式語言,除了R語言一直處於停滯不前的狀態,其他程式語言則是在不同程度地穩步下降。

這一指標確實很好地印證了Python的流行程度和普及度。根據專業人士的說法,Python具有以下優點:

一、Python的成熟和易用。

實際上,從1991年,van Rossum向全世界發布了第一個版本的Python至今已經有30歲的高齡了。但Python卻沒有因為這種計算機時代略顯「古老」的年齡而走向衰敗,反而因為Python在可用性和功能性上面取得的平衡,讓越來越多的程式設計師開始使用這一語言。

一方面簡單易用,一方面又可以用來開發大型的應用程式,這兩個因素結合,正是 Python在上世紀90年代逐漸取得成功的原因。現在,Python語言已經形成一個龐大的成熟社區,一旦人們在編寫Python代碼遇到任何問題,都可以從中找到有用的答案。

二、Python對於初學者非常友好。

從一開始,Python就提供了清晰而明確的語法,使得發人員更容易閱讀和理解代碼,這是眾多程式設計師喜歡上Python的主要理由。

用三種語言來顯示「Hello World!」為例,相比起C語言和Java,Python更符合人類直覺的語言形式,對新手而言也更加友好,只需要一句「print」(發布)就可以了。

用van Rossum的原話來說就是,一門程式語言不僅要告訴計算機該做什麼,還要便於在開發者之間傳遞思想。那還有什麼比使用一種 「符合人性」的程式語言來實現更好的思想交流呢?

第三,Python的功能足夠強大。

經過如此久的迭代開發,Python早已擁有各種各樣的支持庫。用一個形象的比喻來說,Python就像是編程界的「瑞士軍刀」,可以在各種各樣的場合裡用到。比如處理矩陣和向量數據的NumPy、做技術和工程方面的計算的SciPy、數據處理和分析的Pandas以及支持數據可視化的Matplotlib等等支持庫。

需要注意的是,正是Python在支持庫上面的功能擴展,與AI技術發展息息相關。這些正是我們接下來要討論的問題。

為什麼Python更適合人工智慧?

我們知道第三次人工智慧浪潮的興起得益於機器學習,特別是深度學習算法的成功。而訓練一個AI算法模型就需要為其餵養大量的數據。在前期的AI發展中,「有多少智能就有多少人工」就是這一AI訓練過程的典型描述。在這一過程中,Python因其有強大的數據處理的生態庫,因而能夠為其提供數據的訪問和轉換,實現AI算法的快速「餵養」。

舉個例子,機器學習或者深度學習的算法模型所要處理的數據實際上都是矩陣和向量。而NumPy則正好支持維度數組與矩陣運算,結合Python內置的math和random庫,可以輕鬆通過簡單代碼實現矩陣的轉置、求逆、求和、叉乘、點乘和分解等功能。

而且,NumPy在實現層對矩陣運算做了大量的並行化處理,通過數學運算的精巧,而不是讓用戶自己寫多線程程序,來提升程序效率。有了Python這種強大的數據計算和處理能力,開發者就可以把工作重心放在模型和算法上,不用操心運行的問題了。

就像上面所說,Python其實也是AI技術的「瑞士軍刀」。對於AI訓練所需要的數據獲取、分析、建模等流程也都可以通過Python的各類支出庫來解決。

(用Python訓練和使用一個logistic Regression模型)

比如,像requests、scrapy這類網絡爬蟲庫,可以從網絡上獲得源源不斷地海量數據;像scipy、pandas、matplotlib以及剛剛介紹的NumPy,幫助開發者進行科學計算、數據處理、繪圖以及矩陣計算等操作;而像nltk、keras、sklearn這類用於建模的支持庫,即可用於NLP、DL的模型搭建,實現一個完整的AI算法模型。

此外,Python也可以用於處理高效的C/C ++算法,以及CUDA/cuDNN的包裝語言,這讓現有的機器學習和深度學習庫可以在Python中高效運行的原因之一。

總體而言,Python成為一門理想的集成語言,可以讓開發者關注真正的問題,而不是花很多時間在細節實現上。

Python語言十全十美嗎?

當然不是,像任何一門程式語言一樣,Python也會有自身的缺陷。

首先,Python的執行速度不夠快。由於Python是一門解釋型語言。程式語言和機器語言之間需要解釋器的翻譯,而Python是一次執行一個任務,因而需要每翻譯一行程序敘述就立刻運行,然後再翻譯下一行再運行,這樣就導致Python要比像C、Java這類編譯型語言執行速度慢的原因。

但對於現在的伺服器算力來說,Python速度的劣勢幾乎沒有什麼影響,因為對於開發者而言根本察覺不到明顯的延時。此外,還可以通過和C語言的結合,將需要優化速度的應用轉換為編譯好的擴展語言,並在系統中使用Python腳本將這部分應用連接起來,以提高程序的整體效率。

其次,Python原始碼加密困難。Python不像編譯型語言的源程序會被編譯成目標程序,而是會直接運行源程序,因此對原始碼加密比較困難。

此外,Python不太適用於移動開發。Python在設計時並沒有考慮到移動開發,因而還不支持在非x86硬體平臺上編譯代碼,而且Python的測試套件很容易在移動平臺崩潰。隨著行動裝置的數量和流量開始遠遠超過PC設備,Python也應該要努力進化以支持移動平臺了。

儘管Python在未來幾年內會依然興盛,但是一些潛在的競爭對手也正在成長——Rust、Go以及Julia。這些語言都各自超過Python的優點,也能修補Python的薄弱環節,正在成為Stack Overflow近幾年受歡迎趨勢上升很快的三種語言,但是零點幾的份額還不足以挑戰Python。

然而總體上,Python因其開放的開源社區以及全球最多的開發者生態,使其成為近十年來最成功的編程開發語言之一。

如果列舉Python的廣泛應用,我們可以列舉出一系列的名單。包括人工智慧學習框架如Google的TensorFlow、Facebook的PyTorch、開源社區的神經網絡庫Karas以及雲計算開源平臺OpenStack等使用python實現。此外,Python還在Web開發、作業系統運維、金融大數據分析和圖形GUI上面都是強大的支持工具。

(MIT研究員在通過Python代碼跑出黑洞圖片後,沒有報錯時的小興奮)

如果這些領域還是離我們的日常生活太過遙遠的話,我們不妨就記住Python這樣的一個小應用吧。

還記得去年媒體瘋傳的那張黑洞照片嗎?這張據說用了2年時間拍攝而成的黑洞照片,其實並不是一個望遠鏡拍攝到的,而是採用了遍布全世界的望遠鏡連接起來,共同拍攝而成的。那麼來自多個望遠鏡拍攝的數據的處理就需要用到Python。

簡單來說,人類看到的第一張真實的黑洞照片,其實是用Python合成的。如果今後有人問起Python能做什麼,你還能記得這個知識點就可以了。

相關焦點

  • 潘石屹考了99分的Python,到底是什麼樣的存在?|stackoverflow|...
    圖片來源@視覺中國文丨腦極體去年,當地產大佬潘石屹要把學習Python作為生日禮物送給自己的時候,微博上還多是一陣調侃之聲。可能正是印證了Python程式設計師們常常掛在嘴邊的「人生苦短,就學Python」的口頭禪,時年56歲的小潘同學要再一次抓住「青春」的尾巴吧。
  • 潘石屹:我為什麼要學語言編程?
    1月8日,SOHO中國舉行2020第四賽季線上租賃表彰會,潘石屹出席並與媒體進行了一番交流。  和訊房產:我關注到過去一年,您對語言編程產生了濃厚的興趣,並在微博進行了分享。什麼契機讓您開始有了這樣一個新愛好?這個新愛好帶給您的收穫和現實意義是什麼?  潘石屹:我為什麼學語言編程?
  • SOHO中國股價跳水12%,潘石屹卻在微博稱學習python?什麼操作
    就在4月10號,潘石屹在微博發布動態,稱自己已經學了3個月的python了,還要參加python的一個考試,來檢驗自己的學習成果,邀請要參加考試的朋友一起交流經驗。潘石屹學習python也就是在這之後,潘石屹也在微博動態,每天堅持更新自己學習python的經歷。
  • 繼潘石屹用 Python 解決 100 個問題後,又參與Python等級測試成績...
    繼房地產大佬、SOHO 中國董事長潘石屹在56歲生日當天宣布,學習程式語言Python後,5月16日凌晨,他在微博曬出了自己的第一張 Python 考試成績單,99 分,差一分滿分!據了解,一個月前,潘石屹報名參加了2020年春季NCT全國青少年編程能力等級測試。
  • 地產大佬潘石屹開始學Python了-還不學python-你就要被淘汰了
    地產大佬潘石屹相信很多人都知道這個傳奇人物,而在這幾個月內地產大佬潘石屹通過微博向大眾宣布其將開始學習python程式語言。再加上python目前已經超過java,成為了程式語言排行榜第一,python這麼火,你還不學python等著被淘汰嗎?
  • 為什麼地產大佬潘石屹要學python?高薪請個python工程師不香嗎
    地產大佬潘石屹相信很多人都知道這個傳奇人物,而在這幾個月內地產大佬潘石屹通過微博向大眾宣布其將開始學習python程式語言。再加上python目前已經超過java,成為了程式語言排行榜第一,python這麼火,你還不學python等著被淘汰嗎?
  • 潘石屹學編程?Python之父:並非人人都需要了解計算機發生了什麼
    今年11月15日,年過半百的SOHO中國董事長潘石屹在微博上宣布,正式開始學習Python。但是世界上有99.7%的人不會編程,如果你屬於其中一個,那麼你估計會覺得程序就像魔法一樣,正如一位科幻小說作家寫道: 「任何足夠先進的技術看起來都像是魔法。」
  • 聚焦大咖丨編程到底有什麼魔力?56歲房地產大佬潘石屹學Python
    提起潘石屹,大家的印象是不是還停留在「SOHO中國」、「房產大亨」的標籤上?那你可沒有跟上潘總的步伐!興趣廣泛的他,不僅搞木工、玩攝影,還開始學編程啦!不僅如此,56歲的他還報名了NCT全國青少年編程能力等級測試,並在Python組取得了99分(滿分100分)的好成績!像每個學生時期的我們,還會「檢討」扣掉的一分:畫完圖後忘了隱藏畫筆的箭頭。
  • 潘石屹談長租暴雷、三道紅線和2021小目標
    來源:和訊房產1月8日,SOHO中國舉行2020第四賽季線上租賃表彰會,董事長潘石屹出席並與媒體進行了交流。一提問:過去一年長租公寓頻頻暴雷。您認為未來這個賽道到底會是一個什麼樣子?我們應該怎麼去重新審視這個行業的價值?
  • 潘石屹,一定要賣掉SOHO中國?
    黑石私有化告吹之後,時隔不到半年,潘石屹又給SOHO中國找了一位買家。有媒體報導,這次可能是高瓴資本。受此消息影響,SOHO中國股價直線拉升,盤中一度大漲40%,但有媒體證實,高瓴資本沒有同SOHO中國進行談判,消息不實,隨後SOHO中國股價收盤迴落至6.99%。
  • 潘石屹真的在學Python!學Python的10個理由
    去年,潘石屹就在社交媒體平臺發言稱自己要學python。近日,他又發出一段代碼,並問「這段程序的運行結果是什麼?」,隨後,被網友調侃「知名企業家不堪學英語苦痛,改學程式語言搪塞領導。」潘石屹解釋稱,學習Python是:1、打開未來人工智慧時代的鑰匙,對未來更有信心。2、是打開知識世界大門最直接的鑰匙。
  • Python是現在最流行的程式語言嗎?
    Python現在是太火了,大學的計算機二級可以考Python,小學的計算機培訓也在培訓Python,最近連地產大佬潘石屹都在學Python,Python真的有這麼火嗎?實際上這個PHP的衰落有關係,Python火了之後,用java的人還是很多,但是用PHP的人就少了,python搶的是PHP的市場,java主要做的是企業應用,比如財務軟體,erp,計費系統等等,很多網站的後臺都是java寫的,而企業應用是Python不擅長的,Python搞搞爬蟲、web和數據分析比較擅長,它們之間不是誰取代誰的關係。
  • 看了潘石屹近期動態,我越想越後怕
    去年,當地產大佬潘石屹把學習Python當作生日禮物送給自己的時候,微博上還多是一陣調侃之聲。5月16號,他在參加完NCT全國青少年編程能力等級測試 Python 編程一級考試後,曬出了99分的優秀成績單。
  • 潘石屹解釋為何學Python:防老年痴呆
    consider upgrading to a web browser that supports HTML5 video 潘石屹解釋為何學
  • 地產大佬潘石屹:人生苦短,我要學Python
    機器之心報導機器之心編輯部房地產大佬潘石屹,突然決定學 Python 了。「人生苦短,我學 Python」是眾多和計算機科學有些接觸的同學耳熟能詳的段子,不過最近這一風潮有了蔓延的趨勢。11 月 14 日,著名房地產商、SOHO 中國董事長潘石屹在微博上發表了一段宣言:潘石屹的大名常會出現在很多新聞報導中。
  • 臺灣大學指考錄取率高達99% 38分就可以選填志願
    臺灣大學指考成績單及相關統計數據昨公布,大學考試入學分發委員會推估,今年分發錄取率恐逼近99%,「只要有登記幾乎就會錄取」,若考生選擇採計「英文、數甲、物理」3科的二類組校系,甚至原始總分38分就可參與登記分發。據報導,今年共有66所大學、1898個校系參與考試分發,其中「指考綁學測」有143個系組,佔7.53%;採計英聽成績則佔5.16%。
  • 男孩考99分仰天長笑,是真的高興,還是「範進中舉」式的喜悅?
    男孩考99分笑成表情包,笑容背後真的發自肺腑嗎? 最近有個新聞,湖南衡陽有一個小男孩在得知自己考了99分後,仰天長笑的視頻在網絡中走紅,視頻中的男孩一邊拿著卷子,一邊哈哈大小,最後激動的捧起同學的臉,傳達著自己的喜悅。 其實這本是生活中一個很平常的事情,考了99分真的值得那麼激動麼?
  • python基礎教程-第一講-帶你進入python的世界
    python是一門非常流行的語言,在前段時間網上流傳的地產大佬潘石屹宣布要開始學習Python編程,這著實讓python又火了一把,但確實反映出python的火熱程度 。在2019年12月的世界程式語言排行榜中,python排名第三。
  • 潘石屹談學習Python:打開知識世界大門最直接的鑰匙
    IT之家1月19日消息 先前SOHO中國董事長潘石屹曾在微博宣布自己要學習Python語言。日前他在微博上發出一段代碼並向廣大網友詢問這段程序的運行結果是什麼。由於潘石屹幾乎做到了Python「每日一問」,資深媒體人劉春也調侃道「知名企業家不堪學英語苦痛,改學程式語言搪塞領導。」
  • SOHO中國將要改嫁,潘石屹會退出江湖嗎?
    SOHO中國將要改嫁,潘石屹會退出江湖嗎?經過一輪又一輪的傳聞與闢謠,潘石屹的「賣賣賣」最終還是水落石出。由此,潘石屹和妻子張欣持有的SOHO中國63.93%的股權,也將絕大部分都轉讓給黑石集團,保留極少部分以示「紀念」。