Python爲何能上位碾壓Java?

Python以其優良的特性,適合於傳統編程語言擅長的Web開發、移動開發、遊戲開發、桌面應用等。不僅如此,它也適合於當前最流行的人工智能、大數據、科學計算、金融分析……這正是它迅速上位走紅的原因。

在過去的兩年間,Python一路高歌猛進,成功竄上“最火編程語言”的寶座,據統計,最新排名已經超越Java,成爲名副其實的第一語言(見下圖)。

尤其在大數據分析與人工智能領域,KDnuggets2018年頂級分析/數據科學/ ML軟件調查,也印證了其市場場佔有率:

根據職友集(國內專業做薪金調查的統計公司)調查,北京地區Python程序員的月薪平均水平達到了19750元的新高(見下圖)。

俗話說外行看熱鬧,內行看門道,我們已經知道了Python的火爆程度,但是學一門編程語言是需要花大量精力的,所以很多同學最關心下面的問題。

我有必要去學嗎?

這門編程語言適合我嗎?

我應該怎麼學?

Python到底有什麼用,學完能做什麼呢?

學完Python,好找工作嗎?

薪水高嗎?(這個從上圖就可以看出,一線城市Python程序員平均工資已經接近20000/月)

要不要學習 Python?

反正我準備成爲Python程序員了,未來是人工智能的時代,有理由相信 Python 將發揮更大的作用。

2017年7月20日,×××印發了《新一代人工智能發展規劃》,提出了面向2030年我國新一代人工智能發展的指導思想、戰略目標、重點任務和保障措施。2017年10月11日,教育部決定自2018年3月起,在計算機二級考試加入了「Python 語言程序設計」科目。 2018年1月16日上午,教育部召開新聞發佈會,在此次「新課標」改革中,正式將人工智能、物聯網、大數據處理劃入新課標,這也就意味着今年秋季入學的高中生,將要開始學習 Python 了。

看到這裏,你還會懷疑學習 Python 的意義嗎? 凡事預則立,不預則廢,生在這個時代,沒有理由對 Python 一無所知。 對此,我想說,我完全愛上了Python!因爲Python能做的太多了。

如何快速學習 Python?

Python好不好,事實足以說明,重點是Python該怎麼學?

在我看來,有如下4個步驟。

明確學習目標

確定學習資料

系統性學習

階段性成果檢驗

Python的領域很多,學習一種編程語言,首先要明確一個目標,不可能一開始每一樣都學,例如,可以先從Python語言的基礎學習,但要注意,一定要系統化學習,儘可能將Python語言的核心知識點都學到,哪怕這些知識點的具體細節和API還沒有完全掌握,至少要知道Python有這個知識點,以便以後用到了,再深入學習。然後需要選擇某一個領域深入下去,Python的Web領域相對容易些,建議初學者先從Python Web領域入手,逐漸深入,再學習其他領域。

明確了目標,還需要掌握學習方法,任何一門編程語言都應該先系統性學習,而不是碎片化地學習,畢竟一門語言包含太多細節,碎片化的學習,顧此失彼,淺嘗輒止,無法從全局把握。

確定了學習目標後,就需要找一些學習資料,儘量不要網上找一些瑣碎的資料,因爲這些資料只適合於成手,而且也不繫統,無法成體系去學習一種技術。系統的資料包括但不限於書、視頻、成體系的電子教材,如果時間和金錢允許,也可以參加線上線下的一些面授課程。

大家在選擇學習參考書或視頻課程時,要儘可能系統、全面一些的。這裏推薦李寧老師的《Python從菜鳥到高手》一書,本書從Python的基礎知識講起,深入淺出,還包括了Python常用的領域,如Web、網絡爬蟲、數據分析、圖表、GUI、遊戲開發等技術,以及大量的項目實戰,如高仿美團Web應用、利用Python爬蟲抓取和分析京東和天貓胸罩銷售數據等。從該書的知識結構圖(見下圖)就可瞭解本書的全貌。

另外,用視頻配合圖書學習也是一種不錯的選擇,寧哥教育(https://geekori.com/edu)包含了大量的Python在線視頻課程,也是不錯的選擇。另外,購買《Python從菜鳥到高手》一書的讀者會贈送全套的Python同步視頻課程(40小時),可以讓您的學習效率成倍提高。

光學習理論知識,不動手實踐,是學習編程語言的最大忌諱。因此,在學習一段時間後,應該動手寫一些小程序,讓自己有信心繼續學下去。《Python從菜鳥到高手》一書包含了超過10萬行代碼,6個實戰案例,如爬蟲、Web應用、GUI應用、遊戲等。真正做到了理論和實戰相結合。

是否應該學習Python的多個領域

因爲Python的領域太多,可能很多同學會有一個疑問,是挑一個自己感興趣的領域深入下去,成爲這個領域的前1%,還是學習Python的多個領域,成爲多面手呢?

其實這個問題不太好回答,因人而異。如果某位同學擁有足夠的天賦,並且夠勤奮,進入前1%是沒什麼問題的。不過對於大多數人來說,都只是普通人,通過自己的努力,是可以達到前20%,甚至前10%。但達到前1%,就在很大程度上依賴天賦了,光靠努力和勤奮是沒用的。

不過好在現在的各種類型的應用都不是單一技術能解決的,例如,一個完整的機器學習系統,是不能高靠TensorFlow、PyTorch這些工具就可以搞定的,可能需要網絡爬蟲、數據分析、數據庫技術、Web技術、安全技術、GUI技術等。而現在企業非常需要能同時駕馭多種技術的人才,而這種人才大多是企業中的骨感、精英以及Leader。這些人才的共同特點是在每一個領域不一定是No 1.,但可以同時駕馭多個領域的知識(達芬奇就是一個典型的例子),這爲將多種技術深度融合提供了有效的保障,試問,如果你對某些技術根本就不瞭解,又怎能將它們融合在一起呢?

雖然這種人纔在每個領域算不上最牛叉的那羣人,但由於是跨領域的,所以綜合排名將使用乘法計算,例如,某個人在A領域和B領域只排到前20%,但由於這個人同時瞭解兩個領域,所以他在跨A和B領域的排名就是前4%(20% * 20%),而如果這個比例是10%,那麼綜合排名就是1%。如果恰好A和B是兩個關聯性較大的技術領域,那麼這個跨領域的人才的價值將遠大於單純在A和B領域排到前1%人才。所以建議想在Python領域站穩腳跟的同學,在完成Python的入門學習以後,根據個人的實際情況,可以選擇2個或多個關聯性較大的領域進行學習,例如,Python Web領域和Python爬蟲領域,Python爬蟲領域和Python深度學習領域。這兩對領域的關聯性都比較大,如Python爬蟲主要抓取的是Web數據,而正好需要了解Web開發的細節。就像要做殺毒軟件,如果不瞭解病毒的實現原理,要如何去做呢?Python深度學習的很多數據是需要Python爬蟲從網上抓取,然後進行標註的,所以爬蟲從某種角度可以認爲是深度學習的數據源。

另外,《Python從菜鳥到高手》一書涉及到了Python目前大多數常見的領域,這是李寧老師關於Python系列的第一本書,後續還會有深入探討Python網絡爬蟲、Python深度學習、Python Web開發、Python大數據等系列數據,每一本書都是承前啓後,可以讓讀者通過這一系列圖書完成對Python語言的系統學習。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章