Python的優(yōu)勢與方便讓科學家們都偏愛它
學生時代我就使用Python,我曾經(jīng)問過我的一個要好的同學“你聽說過Python么”(你知道那個時候我問這句話的心情可能跟很多熱心傳教的人問“你聽說過上帝么?”是一樣的),得到的回答當然是否定的。我還解釋說Python是一門編程語言在世界流行編程語言的前十名中排第九,我那個學Java的同學當然并不關(guān)心這個榜單,因為他的志向是去阿里工作,而阿里主要使用Java。
這就是很多人對Python最初的印象——一個名不轉(zhuǎn)經(jīng)傳的小眾編程語言。現(xiàn)如今只要提到大數(shù)據(jù),數(shù)據(jù)科學就不得不提到Python,甚至名噪一時的R語言也甘拜下風,截至本文寫作時根據(jù)TIOBE榜單的顯示(https://www.tiobe.com/tiobe-index/),Python市場占有率為4.333%僅次于Java以及C和C++位列這個榜單的第四(“世界上最好的編程語言”——PHP位列第八,而R語言僅排十四名)。那么是什么原因讓這么多人選擇了Python,如果說后來者僅僅是因為跟風,那么早起使用者又是什么原因選擇Python呢?這就要從Python最擅長的領(lǐng)域,也是當下大熱的話題——“大數(shù)據(jù)”說起。
大數(shù)據(jù)技術(shù)說來并不神秘,本質(zhì)上是一種統(tǒng)計學的工程應(yīng)用,其中很多的算法可能早在計算機發(fā)明之后就已經(jīng)存在,最早由大學教授、數(shù)學家、統(tǒng)計學家進行研究和試驗。就我在實驗室讀研的經(jīng)歷來說,其實這些人在大多數(shù)情況之下都不是一個合格的程序員,當然他們也沒有必要成為一個程序員罷了。但是他們確實是最早使用計算機,最早利用計算機進行科學研究的人,在過去一種統(tǒng)治性的語言在學術(shù)界橫行,那就是Matlab。這種語言有一個非常簡單的語法,我敢說任何人,沒有一點編程經(jīng)驗的人,只要一個下午就能學會如何使用Matlab將論文中的數(shù)學公式轉(zhuǎn)化成可以運行的代碼。那時候Matlab是一個對于公式優(yōu)化的非常好的語言,易用、易學。不過缺點也很明顯,就是一個字——貴。說起來可能難以啟齒,做學問的人其實很窮的,窮則思變。所以在上個世界90年代中期Python作為一門發(fā)明還沒多久的語言,由于其語法簡單酷似Matlab,并且開源,有一幫人率先嘗試為期開發(fā)數(shù)值運算模塊,作為一個Matlab的替代品,而這個模塊就像我們做數(shù)據(jù)科學最常用的模塊之一——NumPy。幾年之后,一個在Python上實現(xiàn)的圖形庫也公布了,也就是我們現(xiàn)在常用的matplotlib。所以的關(guān)于科學計算的庫被打包成了SciPy供人們使用。雖然那時的Python還不能完全替代Matlab(因為Matlab還有一個界面友好的IDE,以及關(guān)于電路模擬方面的功能),但是就單純的科學計算已經(jīng)能夠媲美Matlab了,很多人也僅使用這些功能,漸漸地Python在科學界成為了一個免費的選擇。
在奠定了Python在科學界的地位之后,由于后期工業(yè)界對大數(shù)據(jù)的需求增加,Python這門語言逐漸被那些離開學界進入工業(yè)界的人傳播到了真正的公司中。隨著開發(fā)人員的增加,Python也馬不停蹄的從其他語言中吸收有點。比如從R語言中吸收了DataFrame思想,而被廣泛使用的pandas庫,以及scikiy-learn的機器學習庫。和從Mathematica中吸收了notebook的特點而開發(fā)的IPython等。無數(shù)的人為Python這個社區(qū)添磚加瓦,使得Python的進步產(chǎn)生了一個正向循環(huán)。
現(xiàn)如今如果說數(shù)據(jù)科學家為什么選擇Python,原因不外乎人如下幾條:
好學。是的科學家也是人,也喜歡簡單的東西;
社區(qū)龐大。你總會遇到問題,這個時候你總是能找到人幫忙;
豐富的類庫。在Python的世界里,統(tǒng)計也好,機器學習也好,有很多“現(xiàn)成”的工具供你使用;
交互式解釋器有利于調(diào)試。Python程序不需要編譯,更方便;
隨著Python的熱門,學習的門檻也在降低。在我學習Python的時候,在網(wǎng)上能找到的學習資料大抵是“通過爬蟲學習Python”之類的內(nèi)容。但是越來越多的作者嘗試從其他的領(lǐng)域向人們介紹Python,如果讀者喜歡,直接從數(shù)據(jù)科學入門Python也未嘗不可。
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
下載地址
Python的優(yōu)勢與方便讓科學家們都偏愛它下載
相關(guān)電子資料下載
- 如何使用Rust創(chuàng)建一個基于ChatGPT的RAG助手 43
- Rust語言為什么這么卷? 21
- HPC與AI:完美融合 302
- 全國產(chǎn)EtherCAT運動控制邊緣控制器(五):IO配置與回零運動的Python+Qt開發(fā) 109
- 開源LLEMMA發(fā)布:超越未公開的頂尖模型,可直接應(yīng)用于工具和定理證明 84
- SymPy:四行代碼秒解微積分 84
- Python 中的5種隱藏技巧 105
- Ciphey 的實戰(zhàn)使用教程 83
- 怎么用Python構(gòu)建一個自動發(fā)送郵件的腳本 86
- 如何通過阿里云日志服務(wù)搭建一套通過Python上傳日志的監(jiān)控服務(wù) 104