Python 的前景和學習方向

圖片來自網路,侵刪n

本文整理自我在這個問題里的回答。相比原版回答,結尾部分添加了若干私貨。

Python 在語法上算是比較簡單易學,相對其他各種語言,對新手更加友好,學習曲線非常平緩。各種演算法用 Python 來實現都相對來說更加簡單又易讀。

因此,有一種趨勢,就是很多像我這種外行人,開始學習和使用 Python 來實現某些自己行業內的某些用途。所以現在 Python 有很多新製作的各種輪子,深度學習,數理統計,化學計算,量化交易,等等。但像我這樣的人往往可能也像我一樣,學得很淺,就能湊合著拿一些框架和模塊來應對簡單的工作,也就可能像我一樣不再太深入探索,而覺得自己掌握的基本夠用了。

此外,在涉及到性能敏感的應用場景,Python 則未必能夠完美勝任,甚至即便使用 cython 和 pypy 之類的加速,也難以全面實現 C++ 等的運行速度。我的一些前輩高人,在處理遙感相關的數據時還是以 C++ 為主,大概就是因為這種原因。

所以總體上看, Python 特點是學的人眾多且來源複雜,學起來簡單卻易學難精,輪子眾多但質量良莠不一,且熟悉輪子有時候需要比語言學習更多很多的精力。

這會導致一種什麼情況呢? 會有很多新人試圖通過學習 Python 來作為起步的語言,進入計算機相關行業。而人群中往往只有少數人是足夠努力的。這就可能會導致在 Python 使用圈子中,低層次甚至像我這種初級水平的超低層次開發者,逐漸增多並且可能會佔到多數。

而且由於像我這種低水平的人對深入探索感到吃力,可能更樂於追捧一些自己在網路上看到的所謂「熱點」。比如可能看見某些社交平台上遮天蔽日的各種爬蟲相關,就以為 Python 最適合來做這個,對其他方面就不怎麼太上心了。再比如,看到某些大號發給新人的轉行指南,加之以少數通過努力成功賺到第一桶金的先行者的分享,就也可能痴迷 flask,並以此作為主攻方向。

這並沒有什麼問題,這都是人的自由選擇,只是這些選擇往往建立在跟從的基礎上,因為往往沒有太多人願意選擇前途未卜的自行探索之路,更願意遵從同類已探索出來的安全道路。

這種扎堆的情況會導致某些方面的人滿為患,並且在短期內會極大降低 Python 開發者平均的薪酬和業內評價,可能會讓市場上產生一種偏見,認為 Python 是外行轉行、低水平開發者、低薪酬的代名詞。

注意,作為一名外行的超低水平開發者,並我不是說爬蟲和flask代表了低技術水平,只是說聚集的新人太多會容易拉低平均水平。

那有什麼推薦的思路么?還真有。 我建議大家可以考慮一下結合自己的專業,來把 Python 作為一個輔助工具,解決行業內的各種事,而不是扎堆擠進專業的程序員群體去參加人海中的短兵肉搏。這樣能發揮自己之前所學,不至於完全從零起步,劣勢不會太顯著,甚至如果本行的經驗比較豐富,還可能會形成某種優勢。

以上就是我對 Python 學習者工作前景的認識,由於自身水平所限,非常粗淺和鄙陋,沒有太大參考意義。

至於可以學習的方向,目前據我所知,有爬蟲和數據採集與可視化等的數據方向,flask 和 django 之類的web方向,區塊鏈和加密等相關的數字貨幣方向,tensorflow 和 pytorch等機器學習方向,用 kivy 或者 pyqt 的跨平台 GUI 開發方向,還有各種結合了學科知識的各種科學計算和實驗模擬模擬的方向。

當然了,說句純廢話:Python 是一門編程語言,雖然有擅長的某些事,也基本能做差不多任何事,所以學習者在使用的時候,完全不必要限制於某幾個特定方向。冷靜下來,先旁觀一下市場,再自己做思考,選擇自己想做的,而不是看到招聘網站的廣告和培訓班的各種宣傳就無腦認同而照做。

以下內容是私貨。n

正如@董偉明 在 Python 技術分享的亂象中所說的那樣,當前 Python 相關的圈子存在各種各樣的奇葩現象。

最多的就是動不動就萬事萬物唯有爬蟲;

或者就是隨便搞來一些盜版電子書分享鏈接,或者抄來幾句籠統的格言警句一樣水的東西,堆砌在某些個回答裡面,然後結尾放上自己的營銷推廣;

要麼是招聘網站,要麼是培訓機構,用各種神標題來帶節奏,紛紛鼓吹各種轉行迅速致富月薪過萬走上成功之路等等,來迷惑和煽動新人,帶來各種類似成功學一樣的信徒氛圍。

烏煙瘴氣妖魔鬼怪。

我想這裡要引用我的一位師兄的話:「仰望星空,腳踏實地。」 星空是偶爾看看來辨別方向和天時的,要是每天總抬頭那麼看,會容易得頸椎病;而腳下的大地是每天都要觸碰的,是現在一切的基礎和依託,所以得留心看著點,別掉坑裡面。 那麼怎麼留心各種坑呢? 我相信大家的智商,其實只要稍微冷靜一下,還是很好篩選一下哪些聲音值得聽取的,分辨哪些聲音背後是銅臭,而哪些聲音背後是單純的分享,這並不會很難。

而最重要的還不止於此,最重要的是專心學習,付出自己所能給出的最大程度的努力,做了就不能讓自己後悔沒有足夠努力。


推薦閱讀:

為什麼 Python、Ruby 等語言棄用了自增運算符?
定位後端開發,有哪些書籍值得推薦?
ELEMENTARY.01.Say Hi

TAG:Python | 市场营销 | 培训 |