Python是什么?Python入門必看的啟蒙之文

人生苦短,我學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學習大禮包哦~

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 上一篇:Python入門之MySQL優化 Python翻譯成漢語是蟒蛇的意思,并且Python的logo也是兩條纏...
    Python女匠閱讀 220評論 0 0
  • 零、學習資源總結 0.0 文檔 官方文檔:Python Documentation 第三方文檔/Wiki類:tut...
    qhyloverain閱讀 368評論 0 1
  • python, 是一種面向對象的解釋型計算機程序設計語言。由荷蘭人 吉多·范羅蘇姆 (Guido van Ros...
    瞎折騰o閱讀 204評論 0 1
  • 推薦指數: 6.0 書籍主旨關鍵詞:特權、焦點、注意力、語言聯想、情景聯想 觀點: 1.統計學現在叫數據分析,社會...
    Jenaral閱讀 5,744評論 0 5
  • 昨天,在回家的路上,坐在車里悠哉悠哉地看著三毛的《撒哈拉沙漠的故事》,我被里面的內容深深吸引住了,盡管上學時...
    夜闌曉語閱讀 3,826評論 2 9