Python語言自面世以來声诸,已經(jīng)逐漸發(fā)展成為使用最廣泛的計(jì)算機(jī)語言之一。我們可以從互聯(lián)網(wǎng)上幾個(gè)有名的編程語言排行榜來看看Python語言流行的情況窟勃。
圖1.1 TIBOE編程語言排行榜
根據(jù)圖1.1中軟件質(zhì)量檢查公司TIBOE于2018年7月提供的TIBOE編程語言排行指數(shù)榜闽烙,Python語言名列第4位日缨。在2010年和2017年,Python都曾經(jīng)登頂過該排行榜的首位家卖。
圖1.2 IEEE Spectrum編程語言排行榜
如圖1.2所示眨层,根據(jù)全球最大的非營(yíng)利性專業(yè)技術(shù)學(xué)會(huì)電氣和電子工程師協(xié)會(huì)(IEEE)在2017年7月提供的IEEE Spectrum編程語言排行榜,無論以綜合指數(shù)上荡、流行趨勢(shì)或在開放平臺(tái)上的受歡迎程度排序趴樱,Python都高居第一位。而以開發(fā)人員需求角度排序,Python位居第三伊佃。
圖1.3 RedMonk編程語言排行榜
如圖1.3所示窜司,根據(jù)開發(fā)行業(yè)分析公司RedMonk于2018年初提供的數(shù)據(jù),在全球最大的代碼托管網(wǎng)站GitHub上航揉,Python的流行程度高舉前三塞祈;在全球最大的開發(fā)問答網(wǎng)站Stackover上,Python的流行程度位居第五帅涂。
圖1.4 PYPL編程語言流行程度排行榜
如圖1.4所示议薪,根據(jù)另一個(gè)基于在谷歌搜索引擎上編程語言搜索頻次來統(tǒng)計(jì)的軟件流行排行榜PYPL于2018年7月提供的數(shù)據(jù)顯示,Python已超越Java成為最流行的語言媳友。
從上面各個(gè)排行榜可以看出斯议,Python目前當(dāng)之無愧是最流行的編程語言。我們?cè)倏纯碢ython在各個(gè)領(lǐng)域較為著名的企業(yè)或項(xiàng)目中的實(shí)際應(yīng)用情況:
* Python是谷歌公司的官方服務(wù)器端編程語言之一(其他還包括C++醇锚、Java和Go語言)哼御;谷歌公司在一些搜索算法、代碼維護(hù)工作流程焊唬、很多開源代碼庫(kù)恋昼、視頻網(wǎng)站Youtube、Google App Engine赶促、代碼托管網(wǎng)站code.google.com以及當(dāng)前大部分人工智能系統(tǒng)和項(xiàng)目中等大量使用了Python語言液肌,谷歌推出的目前使用最廣泛的深度學(xué)習(xí)框架TensorFlow,主要是基于Python語言的鸥滨。另外值得一提是的嗦哆,谷歌公司還曾聘用過Python創(chuàng)始人Guido van Rossum;
* 在Facebook的系統(tǒng)中婿滓,Python語言是應(yīng)用的最為廣泛的語言之一老速,被大量應(yīng)用于基礎(chǔ)設(shè)施構(gòu)建、平臺(tái)服務(wù)空幻、配置管理和運(yùn)行維護(hù)工作中烁峭;
* 曾為電影《星球大戰(zhàn)》進(jìn)行特效制作的著名電影特效制作公司Industrial Light and Magic,從上世紀(jì)開始就使用Python語言進(jìn)行系統(tǒng)間銜接秕铛、流水線監(jiān)控约郁、圖像數(shù)據(jù)庫(kù)維護(hù)等;
* 著名的圖片分享社交軟件Instagram但两,使用基于Python的Django框架來搭建整個(gè)網(wǎng)站鬓梅,這也是全球最大的完全使用Django構(gòu)建的網(wǎng)站,每天有超過3千萬張圖片在其上分享谨湘;
* 全球知名的流媒體音樂服務(wù)平臺(tái)Spotify是積極使用Python語言的倡導(dǎo)者之一绽快,它使用Python來進(jìn)行數(shù)據(jù)分析和后臺(tái)服務(wù)開發(fā)芥丧;
* 知名的問答網(wǎng)站Quora也使用Python加Javascript的方式來設(shè)計(jì)網(wǎng)站前后端互操作流程;國(guó)內(nèi)的大型問答網(wǎng)站知乎也是基于Python開發(fā)的坊罢;
* 在線影片租賃提供商N(yùn)etflix也使用Python來進(jìn)行數(shù)據(jù)分析和后臺(tái)服務(wù)開發(fā)续担;
* 在線存儲(chǔ)服務(wù)公司Dropbox使用Python來開發(fā)他們的桌面客戶端,而Guido van Rossum在離開谷歌之后活孩,就進(jìn)入了Dropbox就職物遇;
* 大型社交新聞網(wǎng)站Reddit在2017年每月有5億多用戶訪問,排名世界第7位憾儒,而它的軟件主體就是用Python編寫的询兴;
* 國(guó)內(nèi)知名的圖書、電影起趾、音樂評(píng)價(jià)網(wǎng)站豆瓣據(jù)說使用Python作為主要開發(fā)語言诗舰;
* 其他應(yīng)用到Python的較有名的企業(yè)和項(xiàng)目還包括:NASA(美國(guó)國(guó)家航空航天局)、CIA(美國(guó)中央情報(bào)局)训裆、YAHOO眶根、IBM公司、微軟公司边琉、MOZILLA項(xiàng)目汛闸、在線醫(yī)療網(wǎng)站春雨醫(yī)生等;
實(shí)際上艺骂,包括騰訊、網(wǎng)易隆夯、搜狐在內(nèi)的很多科技公司都或多或少地在各種項(xiàng)目和日常工作中使用Python來完成適合的任務(wù)钳恕,這里難以一一列舉。根據(jù)多年來人們對(duì)Python的使用經(jīng)驗(yàn)蹄衷,下面我們?cè)賮砜纯碢ython最適合的應(yīng)用范圍:
* WEB互聯(lián)網(wǎng)服務(wù)開發(fā)
Python既有Django和Pyramid這樣的大型WEB開發(fā)框架忧额,也有輕量級(jí)的Flask、Bottle等WEB框架愧口;還有Plone和django CMS這樣的內(nèi)容管理系統(tǒng)睦番;可以構(gòu)建從個(gè)人實(shí)驗(yàn)性網(wǎng)站到大型企業(yè)級(jí)別的網(wǎng)站,并且經(jīng)過世界上幾個(gè)超大型網(wǎng)站最高級(jí)別的壓力的實(shí)踐檢驗(yàn)耍属。
另外托嚣,Python標(biāo)準(zhǔn)庫(kù)還支持一系列開發(fā)網(wǎng)絡(luò)服務(wù)所需要的協(xié)議和功能,例如:HTML厚骗、XML示启、JSON、E-mail领舰、FTP夫嗓、Socket等迟螺。
* 數(shù)學(xué)和科學(xué)計(jì)算
由于Python的開放性,多年來很多人為Python編寫了很多第三方代碼包或代碼庫(kù)舍咖,使得Python的功能越來越強(qiáng)大矩父;其中就包括用于數(shù)學(xué)和科學(xué)計(jì)算的代碼包,因此很多科學(xué)家也喜歡用Python來編寫程序排霉,這也是目前人工智能領(lǐng)域很多系統(tǒng)使用Python來進(jìn)行開發(fā)的重要原因之一窍株。比較有名的用于數(shù)學(xué)或科學(xué)計(jì)算的第三方Python類庫(kù)包括:用于數(shù)據(jù)分析和建模的Pandas;用于數(shù)學(xué)郑诺、科學(xué)和工程計(jì)算的大型類庫(kù)SciPy夹姥;用于將數(shù)學(xué)、幾何與其他科學(xué)計(jì)算圖形化的工具集Matplotlib辙诞;擅長(zhǎng)處理多維數(shù)組與矩陣的Numpy辙售;用于天文學(xué)和天體物理學(xué)計(jì)算的Astropy;用于生物科學(xué)計(jì)算的Biopython等飞涂。
* 教學(xué)和原型演示
Python在語言語法上的先進(jìn)性和規(guī)范性旦部,使得它非常適合被用來教授計(jì)算機(jī)語言。現(xiàn)在全球很多各級(jí)學(xué)校越來越多的老師愿意用Python來講解計(jì)算機(jī)編程課较店。由于Python編程很高效士八,Python代碼閱讀很清晰流暢,因此很多人在進(jìn)行概念梁呈、算法婚度、流程展示的時(shí)候,也愿意使用Python來進(jìn)行演示官卡。
* 軟件開發(fā)過程輔助與管理
Python在一些軟件開發(fā)公司和項(xiàng)目中蝗茁,常常被當(dāng)作一種輔助性工具,來幫助開發(fā)團(tuán)隊(duì)對(duì)開發(fā)過程的一些階段進(jìn)行更高效的管理與執(zhí)行輔助任務(wù)寻咒。例如哮翘,Python常被用于軟件編譯與構(gòu)建管理(Build Control)、軟件與系統(tǒng)測(cè)試毛秘、缺陷跟蹤饭寺、項(xiàng)目管理等。
* 企業(yè)資源管理與電子商務(wù)
Python也被一些企業(yè)用于建設(shè)企業(yè)資源管理系統(tǒng)(ERP)和電子商務(wù)系統(tǒng)叫挟。這方面的第三方Python框架包括Odoo艰匙、Tryton等。
本章結(jié)語
Python語言自誕生以來抹恳,以難以置信的速度成為世界上應(yīng)用最廣泛的語言之一旬薯。Python在各個(gè)行業(yè)都有自己的應(yīng)用空間,后面將根據(jù)我們?cè)诟鱾€(gè)行業(yè)實(shí)際項(xiàng)目的經(jīng)驗(yàn)中提煉出來的Python實(shí)用技術(shù)适秩,結(jié)合實(shí)例來詳細(xì)講解Python的具體應(yīng)用绊序。