首頁>技術>

甚至要好幾頁才能鋪下

但從一個資深程式設計師的視角出發,實在不建議你將Python作為一種職業,從功利性的角度出發,你學Python是很找到工作的

從圖片中看出需要Python技能崗位需求量約為Java的1/10, Python基本上只有三種職位後端開發,爬蟲,資料探勘/機器學習,以及運維崗位

就拿後端開發來說,負責後端業務邏輯的編寫,以及與資料庫互動等。但相對於Java,PHP來說,Python並沒有那麼好用,其語法效率也比較低,Java是靜態編譯型別語言,Python為動態解釋語言,即一個先由編譯器編譯成計算機能執行的二進位制程式碼,這樣計算機直接執行就可以了,但Python的解釋性語言,即是執行時進行編譯,執行的,因此效率會比較低。

其測試結果如下:

1000萬次計數效率,Java是Python的100倍

此外Java技術棧經過多年的發展,已經積累了海量的技術棧,比如分散式的各種東西: 控制反轉,三層架構,服務排程,流量排程,全棧監控,適用於複雜系統的分散式架構。而Python發展時間尚短,並沒有海量類庫,用來幹小一點的網站還OK的,大的網站從速度以及技術棧的角度來講,都是不太建議的。

Java,PHP進過長時間發展,已形成了自己的"技術旗幟",大量開發擁簇在同樣旗幟下,發展成了自己的技術山頭,從而聚集起越來越多的人。從公司招聘的角度出發,肯定願意招聘適用面廣的技術棧,這樣產品維護起來比較簡單,人員離職了也能更好的找到能替代的人,萬一搞個Python技術棧,人員離職了萬一招不到人了怎麼辦?

爬蟲工程是也會經常用到Python,Python在資料抓取等方面確實有著一定的優勢,但專職做爬蟲的工程師又有多少?市場的需求並不大。如下圖所示,x勾全國範圍內爬蟲工程師的崗位為207.

目前從事爬蟲工程師風險也比較大,各位要謹慎考慮

資料探勘/機器學習中會用Python來編寫,這是因為先掌握了理論而後用Python來實現,而非會Python就能做資料探勘,它只是一個工具而已。而且如果你要從事資料探勘/機器學習,最好的途徑是上個NB大學:最好的米國藤校之類,國內的都不行,跟個NB導師,發些NB的Paper,上頭有人才好辦事,特別是在學術界,演算法這玩意還是跟學術界聯絡比較緊密的,否則只能淪為"調參工程師"。

而且隨著人工智慧光環的褪去,業務落地變現困難,人工智慧/機器學習工程師的崗位趨近於飽和,工作越來越難找。

從19年我司的招聘情況來看,10-11月還找不到工作的計算機專業學生中,很大一部分都是人工智慧相關的。從公司角度來看,國外做這個的也一大堆,為啥我不招留學生呢?名頭更響不是,我幹嘛還要招一個沒什麼名氣大學裡做人工智慧的呢?

大家選專業時也要從實際情況出發,不要只覺得有趣,看起來NB,經過外行媒體一鼓吹就選了。就跟娶老婆一樣,不光好看就行了,還得看是否實用是吧?

因為Python可以算是一種指令碼語言,因此在運維中應用也比較廣,但跟上面一樣,這只是運維需要掌握的一門技能而已。

當然,如果你不想以Python為職業,希望以此來入門還是不錯滴。Python畢竟比C要簡單多了,沒有C中亂七八糟指標等偏底層的概念,國外很多課程都是以Python來入門的,因此用來入個門,知道程式是啥還是可以的。但如果你想變得像文案中說的那樣:

用Python做自動化表格,一鍵爬取海量論文(不怕被抓麼),估計是難度比較大了,專業工作者都要經過大量除錯才能保證正確性,你這麼有自信能比肩專業碼農麼?

一個每天做行政的小妹,要去學習Python的語法,類庫,然後在機器上裝Python的執行環境,然後敲出程式碼寫個程式去處理excel,萬一出錯還得去stackoverflow,csdn,segmentfault上扒各種帖子找bug...唉,別浪費人家雙十一了吧。

12
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 執行緒池拓展與CompletionService操作非同步任務