為什么要學Python?

姓名:白國樂

學號:17021210898

專業(yè):信號與信息處理

轉(zhuǎn)載自:http://blog.csdn.net/csdnnews/article/details/78557392,有刪節(jié)

【嵌牛導(dǎo)讀】如果大家身處互聯(lián)網(wǎng)鞍爱,一定能夠切身地感受到 Python 語言的流行程度。Python 語言由于其簡單易學、語法優(yōu)美夺谁、應(yīng)用領(lǐng)域廣泛等諸多優(yōu)點,俘獲了大批的粉絲。

【嵌牛鼻子】編程語言、Python

【嵌牛提問】數(shù)百種編程語言谤祖,而我為什么要學 Python?

【嵌牛正文】如果讓你從數(shù)百種的編程語言中選擇一個入門語言老速?你會選擇哪一個粥喜?

是應(yīng)用率最高、長期霸占排行榜的常青藤 Java橘券?是易于上手额湘,難以精通的 C?還是在游戲和工具領(lǐng)域仍占主流地位的 C++旁舰?亦或是占據(jù) Windows 桌面應(yīng)用程序半壁江山的 C#锋华?……

我想,每個人可能會根據(jù)工作要求的必然條件箭窜、興趣愛好的充分條件毯焕,做出相應(yīng)不同的選擇。也有很多工程師在學習一門新的技術(shù)時磺樱,都會擔心自己所學的技術(shù)是否會越來越流行纳猫,盡量去避免學習了一個非常小眾和冷門的技術(shù)。這種擔憂是可以理解的竹捉,畢竟芜辕,一門技術(shù)使用的人越多,對于早期學習這門技術(shù)的工程師來說块差,就有越多的好處和優(yōu)勢侵续。與此同時倔丈,如果學習了一門冷門的技術(shù),不但英雄無用武之地询兴,而且乃沙,在求職市場上也沒有什么優(yōu)勢。要問我的入門編程語言選擇诗舰,我首選一定是

Python,其具體原因可以引用一位網(wǎng)友的回答训裆,「學完 Python眶根,可以上天」。編程語言排行榜

首先边琉,我們了解一下近期編程語言排行榜中属百,Python 語言排名的變化。TIOBE

每個月發(fā)布的編程語言排行榜是編程語言流行趨勢的一個指標变姨,每個月更新族扰。這份排行榜排名基于互聯(lián)網(wǎng)上有經(jīng)驗的工程師、課程和第三方廠商的數(shù)量定欧,使用搜索引擎進行計算而得渔呵,一定程度上反應(yīng)了編程語言的熱度。

2017年9月TIOBE編程語言排行榜

2017年10月TIOBE編程語言排行榜

2017年11月TIOBE編程語言排行榜

從近三個月的排行看砍鸠,Python 一直穩(wěn)定在排行榜的前五名扩氢。但編程語言排行榜僅能反應(yīng) Python 語言當下的流行程度,并不能回答

Python 是否越來越流行這個問題爷辱。不過录豺,我們可以從 TIOBE 發(fā)布的歷史數(shù)據(jù)中找到一些線索。在 2015 年 2 月份發(fā)布的 TIOBE

編程語言排行榜中饭弓,Python 還排在第 8 名的位置双饥,短短兩年半的時間,Python 語言已經(jīng)躥升到第 4 名弟断,其上升速度不可謂不快咏花。

Google trends

既然 TIOBE 的編程語言排行榜是根據(jù)搜索引擎得到的數(shù)據(jù),那么夫嗓,我們也可以通過搜索引擎得到 Python 的搜索指數(shù)迟螺,通過搜索指數(shù)來查看 Python 語言熱度的變化。圖1.1 給出了最近 4 年舍咖,Python 這個關(guān)鍵詞的 Google 搜索指數(shù)矩父。

圖 1.1 Python 的 Google 搜索指數(shù)

圖1.1中可以看到,從全球范圍來看排霉,Python 語言是越來越流行的窍株,其熱度超過了以往任何時候。從中國的搜索指數(shù)來看,Python

語言已經(jīng)不是越來越流行這么簡單了球订,而是出現(xiàn)了爆發(fā)式的增長后裸。2014 年以前,Python 在中國都屬于小眾語言冒滩,從 2014

年開始微驶,Python 在中國越來越火爆。一個有趣的事實是开睡,在圖 1.1 給出的 Python 搜索指數(shù)中因苹,Python

在中國的搜索每年都會有一個非常明顯的、向下的尖刺篇恒。這個尖刺所在的時間正好與春節(jié)的時間吻合扶檐,說明春節(jié)對所有中國人都是一個重要的節(jié)日,在春節(jié)期間胁艰,很少有人還在專研技術(shù)了款筑。

微信搜索指數(shù)

我們再來看一下最新發(fā)布的微信搜索指數(shù)中,Python 語言的熱度如何腾么。圖 1.2 給出了Python奈梳、Java、PHP 和 Ruby 的微信搜索指數(shù)對比圖哮翘。

圖 1.2 Python的微信搜索指數(shù)

由于微信最多支持 4 個關(guān)鍵詞進行比較颈嚼,因此,我們選擇了 Java饭寺、PHP阻课、Ruby 與 Python 進行比較。選擇 Java

是因為它是一門比 Python 使用更加廣泛的編程語言艰匙;選擇 PHP 是因為它被認為是“世界上最好的”編程語言限煞;選擇 Ruby

是因為,它是所有編程語言中员凝,與 Python 定位最近接近的編程語言署驻。從圖中可以看出,Python 語言和 Java

語言的微信搜索指數(shù)遙遙領(lǐng)先健霹,并且旺上,Python 語言的微信搜索指數(shù)比 Java 語言還要略高一點。

基于以上的編程語言排行榜糖埋、Google 搜索指數(shù)和微信搜索指數(shù)這幾個不同的數(shù)據(jù)來源宣吱,檢視了 Python 語言的流行程度。現(xiàn)在瞳别,我們可以非常明確的得出一個結(jié)論——Python 語言越來越流行征候,而且現(xiàn)在非澈脊ィ火。

那么為什么 Python 語言會越來越流行呢疤坝?

原因諸多兆解,如越來越多的工程師使用 Python 進行大數(shù)據(jù)處理;科研工作者開始使用 Python 來進行數(shù)據(jù)分析跑揉;系統(tǒng)管理員使用

Python 管理 Linux 系統(tǒng)锅睛;開源的云計算平臺 OpenStack 使用 Python 語言開發(fā);很多編程愛好者使用 Python

進行爬蟲等历谍。但是衣撬,筆者認為,Python 語言之所以越來越流行扮饶,使用越來越廣泛,主要還是得益于其自身的諸多優(yōu)點乍构。

對 Python 的愛與恨:那些不得不說的優(yōu)缺點

顯著的優(yōu)點

Python 語言擁有諸多的優(yōu)點甜无,這其中,以下幾個優(yōu)點特別顯著:

簡單易學:Python 語言相對于其他編程語言來說哥遮,屬于比較容易學習的一門編程語言岂丘,它注重的是如何解決問題而不是編程語言的語法和結(jié)構(gòu)。正是因為 Python 語言簡單易學眠饮,所以奥帘,已經(jīng)有越來越多的初學者選擇 Python 語言作為編程的入門語言。例如仪召,在浙江省 2017 年高中信息技術(shù)改革中寨蹋,《算法與程序設(shè)計》課程將使用 Python 語言替換原有的 VB 語言。

語法優(yōu)美:Python 語言力求代碼簡潔扔茅、優(yōu)美已旧。在 Python 語言中,采用縮進來標識代碼塊召娜,通過減少無用的大括號运褪,去除語句末尾的分號等視覺雜訊,使得代碼的可讀性顯著提高玖瘸。閱讀一段良好的 Python 程序就感覺像是在讀英語一樣秸讹,它使你能夠?qū)W⒂诮鉀Q問題,而不用太糾結(jié)編程語言本身的語法雅倒。

豐富強大的庫:Python 語言號稱自帶電池(Battery Included)璃诀,寓意是 Python 語言的類庫非常的全面,包含了解決各種問題的類庫屯断。無論實現(xiàn)什么功能文虏,都有現(xiàn)成的類庫可以使用侣诺。如果一個功能比較特殊,標準庫沒有提供相應(yīng)的支持氧秘,那么年鸳,很大概率也會有相應(yīng)的開源項目提供了類似的功能。合理使用 Python 的類庫和開源項目丸相,能夠快速的實現(xiàn)功能搔确,滿足業(yè)務(wù)需求。

開發(fā)效率高:Python 的各個優(yōu)點是相輔相成的灭忠。例如膳算,Python 語言因為有了豐富強大的類庫,所以弛作,Python 的開發(fā)效率能夠顯著提高涕蜂。相對于 C、C++ 和 Java 等編譯語言映琳,Python 開發(fā)者的效率提高了數(shù)倍机隙。實現(xiàn)相同的功能,Python 代碼的文件往往只有 C萨西、C++ 和 Java 代碼的 1/5~1/3有鹿。雖然 Python 語言擁有很多吸引人的特性,但是谎脯,各大互聯(lián)網(wǎng)公司廣泛使用 Python 語言葱跋,很大程度上是因為 Python 語言開發(fā)效率高這個特點窍蓝。開發(fā)效率高的語言猎荠,能夠更好的滿足互聯(lián)網(wǎng)快速迭代的需求,因此井濒,Python 語言在互聯(lián)網(wǎng)公司使用非常廣泛咸产。

應(yīng)用領(lǐng)域廣泛:Python 語言的另一大優(yōu)點就是應(yīng)用領(lǐng)域廣泛矢否,工程師可以使用 Python 做很多的事情。例如脑溢,Web 開發(fā)僵朗、網(wǎng)絡(luò)編程、自動化運維屑彻、Linux 系統(tǒng)管理验庙、數(shù)據(jù)分析、科學計算社牲、人工智能粪薛、機器學習等等。Python 語言介于腳本語言和系統(tǒng)語言之間搏恤,我們根據(jù)需要违寿,既可以將它當做一門腳本語言來編寫腳本湃交,也可以將它當做一個系統(tǒng)語言來編寫服務(wù)。

不可忽視的缺點

毫無疑問藤巢,Python 確實有用很多的優(yōu)點搞莺,每一個優(yōu)點看起來都非常吸引人。但是掂咒,Python 并不是沒有缺點的才沧,最主要的缺點有以下幾個:

Python 的執(zhí)行速度不夠快。當然绍刮,這也不是一個很嚴重的問題温圆,一般情況下,我們不會拿 Python 語言與 C/C++ 這樣的語言進行直接比較孩革。在 Python 語言的執(zhí)行速度上岁歉,一方面,網(wǎng)絡(luò)或磁盤的延遲膝蜈,會抵消掉部分 Python 本身消耗的時間刨裆;另一方面,因為 Python 特別容易和 C 結(jié)合起來彬檀,因此,我們可以通過分離一部分需要優(yōu)化速度的應(yīng)用瞬女,將其轉(zhuǎn)換為編譯好的擴展窍帝,并在整個系統(tǒng)中使用 Python 腳本將這部分應(yīng)用連接起來,以提高程序的整體效率诽偷。

Python 的 GIL 鎖限制并發(fā):Python 的另一個大問題是坤学,對多處理器支持不好。如果讀者接觸 Python 時間比較長报慕,那么深浮,一定聽說過 GIL 這個詞。GIL 是指 Python 全局解釋器鎖(Global Interpreter Lock)眠冈,當 Python 的默認解釋器要執(zhí)行字節(jié)碼時飞苇,都需要先申請這個鎖。這意味著蜗顽,如果試圖通過多線程擴展應(yīng)用程序布卡,將總是被這個全局解釋器鎖限制。當然雇盖,我們可以使用多進程的架構(gòu)來提高程序的并發(fā)忿等,也可以選擇不同的 Python 實現(xiàn)來運行我們的程序。

Python 2 與 Python 3 不兼容:如果一個普通的軟件或者庫崔挖,不能夠做到后向兼容贸街,那么庵寞,它會被用戶無情的拋棄了。在 Python 中薛匪,一個槽點是 Python 2 與 Python 3 不兼容捐川。因為 Python 沒有向后兼容,給所有的 Python 工程師帶來了無數(shù)的煩惱蛋辈。

如何上手属拾?

了解了 Python 的整體趨勢及優(yōu)缺點,接下來自然是如何學習 Python冷溶?在此筆者的建議是:

找一本淺顯易懂比較好的教程渐白,無須多種選擇,僅精選一本逞频,從頭到尾看完纯衍。將教程中的案例自己親手實踐一遍。

通過實際項目練手苗胀。如果僅是紙上談兵襟诸,可能過目就忘,所以最好是要有真實的項目做基协。注意歌亲,真實項目不一定非要是商業(yè)項目,例如自己動手搭建網(wǎng)站澜驮,其關(guān)鍵是要核心功能完整陷揪。

最好能找到一個已經(jīng)會 Python 的人。問他一點學習規(guī)劃的建議杂穷,然后在遇到卡殼的地方找他指點悍缠。這樣會事半功倍。但是耐量,要學會搜索飞蚓,學會如何更好地提問。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末廊蜒,一起剝皮案震驚了整個濱河市趴拧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌山叮,老刑警劉巖八堡,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異聘芜,居然都是意外死亡兄渺,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進店門汰现,熙熙樓的掌柜王于貴愁眉苦臉地迎上來挂谍,“玉大人叔壤,你說我怎么就攤上這事】谛穑” “怎么了炼绘?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長妄田。 經(jīng)常有香客問我俺亮,道長,這世上最難降的妖魔是什么疟呐? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任脚曾,我火速辦了婚禮,結(jié)果婚禮上启具,老公的妹妹穿的比我還像新娘本讥。我一直安慰自己,他們只是感情好鲁冯,可當我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布拷沸。 她就那樣靜靜地躺著,像睡著了一般薯演。 火紅的嫁衣襯著肌膚如雪撞芍。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天跨扮,我揣著相機與錄音勤庐,去河邊找鬼。 笑死好港,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的米罚。 我是一名探鬼主播钧汹,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼录择!你這毒婦竟也來了拔莱?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤隘竭,失蹤者是張志新(化名)和其女友劉穎塘秦,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體动看,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡尊剔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了菱皆。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片须误。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡挨稿,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出京痢,到底是詐尸還是另有隱情奶甘,我是刑警寧澤,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布祭椰,位于F島的核電站臭家,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏方淤。R本人自食惡果不足惜钉赁,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望臣淤。 院中可真熱鬧橄霉,春花似錦、人聲如沸邑蒋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽医吊。三九已至钱慢,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間卿堂,已是汗流浹背束莫。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留草描,地道東北人览绿。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像穗慕,于是被迫代替她去往敵國和親饿敲。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,976評論 2 355

推薦閱讀更多精彩內(nèi)容