人生苦短,我學Python,
很經典的一句話,不知道你們有沒有聽過,可能有的朋友剛來,連Python是什么都不清楚,至于為什么想要學它,理由無非是以下幾個,做爬蟲,建網站,自動化辦公,資料分析,從而解決某些效率上的具體問題,
它確實具備這樣的功能,也因為適用性廣,宜用宜學,成為了多數人入門編程的首要選擇,不少教育機構嗅到了這個商機,開始大力宣傳Python,營造了一股全民皆可學Python的熱潮,上到八十歲老人,下到三五歲的小孩都可以學,先不論這個做法對不對,但是,
你可能就是在這樣的機緣巧合下接觸到了Python,對它產生了好奇,不得不說,大范圍的宣傳讓Python走進了大眾的視野,讓更多的人知道,編程不止有C語言,還有Python,
市面上少有全面介紹Python的文章,大多是泛泛而談,點到為止,這種做法反而為它增添了幾分神秘色彩,今天,我們就來一步步揭開它的神秘面紗,從過去和現在兩個時間維度進行解讀,來幫助大家更好地理解Python,學習Python,
過去
你敢相信,Python竟然是為了打發時間而被設計出來的嗎?1989年,Python作者Guido von Rossum(龜叔)希望設計出一種介于C和shell之間,功能全面,易學易用,可拓展的語言,
![]()

是什么樣的理由,讓龜叔想要設計一款如此自然的語言呢?要知道當時,蘋果和IBM已經掀起了個人電腦浪潮,但這些電腦配置低得可怕,早期的Macintosh(蘋果的Mac)只有8Mhz的CPU主頻和128KB的運行記憶體,對比起今天動輒2Ghz的CPU主頻,16GB的運行記憶體,真的是小巫見大巫,
迫于無奈,當時的程式員都得像計算機一樣思考,以便寫出更符合計算機口味的程式,這種思考方式讓龜叔很是無奈,他知道如何用C語言寫出一個功能,但這個撰寫程序太復雜,需要耗費大量的時間,
更多的時候,他選擇用Shell,C語言下上百行的程式,在Shell只用幾行就能解決,遺憾的是,Shell并不是真正的編程語言,它本質是呼叫命令,沒有數值型的資料型別,連加減乘除都很難實作,
龜叔希望有一種語言,能夠像C語言一樣,全面呼叫計算機的功能介面,又可以像Shell一般,幾行代碼就能輕松的實作編程,
當時的他有幸參與到ABC語言的開發,這讓他看到了希望,因為ABC語言的目標就是為了激發人們學習編程的興趣,讓編程語言變得容易閱讀,容易使用,容易記憶,容易學習,我們來看一段來自維基百科的ABC程式,這個程式用以統計文本中出現的詞(Word)的總數:
HOW TO RETURN words document:
PUT {} IN collection
FOR line IN document:
FOR word IN split line:
IF word not.in collection:
INSERT word IN collection
RETURN collection
可以清楚地看到,ABC語言已經非常接近自然文字了,就像我們平時說英語那般,
一個程式員是很容易理解這段程式的,小白也沒關系,我帶著你們捋一下,
HOW TO用于定義一個函式,這段函式中的冒號:和縮進來表示一個程式塊,也就是構成程式的其中一部分,for和if的結構中也沒有(),如果將HOW TO換成def,將PUT那一行改為collection=[],將INSERT那一行改為collection.append(word),這就幾乎是一個標準的Python函式了,
遺憾的是,這種接近自然文字的語言在當時還是沒能流行起來,因為它的要求太高了,需要配置較高的電腦才能運行,而這些電腦的使用者通常精通計算機,他們需要思考的點不在于語言的學習難度,而在于程式的使用效率,
除此之外,ABC語言還存在著一些致命問題,可拓展性差,傳播困難,不能直接操作檔案系統,還有大多數程式員都不太能接受這種新的撰寫方式,讓它在萌芽期就直接腰斬,
基于此前已經有設計ABC語言的經驗,雖然不是很成功,但龜叔還是進行了一次嘗試,這一次,也是再普通不過的hacking行為,
借著圣誕假期,他開始寫Python語言的編譯器/解釋器,之所以選中Python(大蟒蛇)作為該編程語言的名字,是取自于Guido最愛的電視喜劇《蒙提·派森的飛行馬戲團》(Monty Python's Flying Circus),
功夫不負有心人,歷經兩年時間,于1991年,Python正式誕生,它是用C語言實作的,并能呼叫C語言的庫檔案,
![]()

Python語言誕生后,處境還是比較尷尬的,一直處于不慍不火的狀態,前有C語言大哥,后有Java這個當紅達人,
1990年還是個人電腦的時代,盡管Internet為主體的資訊革命還有十年才到來,但當時多數程式員與資深計算機用戶已經在頻繁使用Internet進行交流(包括email和newsgroup),一種新的軟體開發模式悄然流行起來:開源,程式員可以利用業余時間進行軟體開發,并開放源代碼,
只要硬體性能不受限制,Python就有了用武之地,隨后,龜叔維護了一個maillist,Python用戶就可以利用郵件進行交流,而Python的用戶背景各不相同,需求也不同,Python本身開放且容易拓展,這一下就把Python給帶火了起來,
現在
Python在編程界的熱度,再創歷史新高,它不僅贏得了年度TIOBE編程語言獎,還被授予這一年“最受歡迎的編程語言”,
![]()

我們再來看看TOP10編程語言在這十幾年的指數走勢( 2002-2020 )
![]()

如今,它已成為資料科學和機器學習等領域中最受歡迎的語言,但它也用于Web開發和后端編程,并逐漸發展到移動應用程式領域,甚至在更大的嵌入式系統中也是如此,
大量采用這種語言的主要原因是易于學習語言及其高生產率,在一個渴望在各個領域擁有更多開發人員的世界中,這兩種素質至關重要,
據統計,Python人才需求量每日高達5000+,但目前市場上會 Python的程式員少之又少,競爭小,很容易快速高薪就業,從Python開發者薪資的變化趨勢來看,目前Python正處于行業爆發初期的風口上,
從Python開發者薪資的變化趨勢來看,隨著作業年限的增長工資成直線增長,從事Python開發,所從事的作業機會和作業崗位及作業內容可選擇的余地很多,可從事大資料、資料分析師、人工智能工程師等方向,未來發展的空間大,
Python在資料分析、資料挖掘、人工智能、web開發等方面都大有發揮之處,再加上人工智能大量依賴資料,資料相關崗位人才的稀缺,Python現在的職位可謂是炙手可熱,
智聯招聘在2017年發布的《人工智能就業市場供需與發展報告》稱,人工智能人才需求量增長2倍,近七成AI人才的薪資水平在月薪1萬以上,約有1%的人才月薪在5萬元以上,
Python工程師的薪資高,并不僅僅因為他們會Python這么簡單,而是他們具備的作業能力,在互聯網人才流動中,自學能力強、技術敏銳度的程式員基本都會有好的發展,獲得豐厚的回報,
最后我還要說幾句,不管Python未來的命運如何,它的歷史本身就極其有趣,以現在的發展勢頭,它值得我們學習,值得我們去深入了解它的設計理念,以便更好地入門Python,走上Python的學習之路,
原文鏈接點這里~Python的過去和現在
歡迎你關注我的公主號《Python小白集訓營》,每日更新零基礎小白入門Python的教程和實操,回復關鍵詞還能獲得Python學習大禮包哦~
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/250045.html
標籤:Python
上一篇:DHCP最佳實踐(二)
下一篇:資料挖掘學習筆記