您現在的位置是:首頁 > 手機遊戲首頁手機遊戲

簡單聊聊Python在演算法、後端、量化工作中的應用

簡介爬蟲崗:requests、xpath、beautifulsoup、scrapy、selenuim資料分析崗:pandas、numpy、sklearn、matplotlib、pymysql演算法崗:sklearn、keras、tensorfl

python適合後端嗎

今天想聊聊Python在演算法、後端、量化工作中的應用,該如何去學習呢?

簡單聊聊Python在演算法、後端、量化工作中的應用

本人是非計算Python專業(天坑之一),大四開始學Python,一路過來摸爬滾打,現在在某行業頭部企業做大資料分析,經常用到Python處理資料。

Python現在幾乎是使用人數最多的程式語言,主要是因為它在各個領域都有應用,十八般武藝雖然說不上樣樣精通,但至少是有拿得出手的東西。在國內,Python大概從2017年開始,由於AI、大資料的興起,逐漸網紅化,備受非IT從業者的吹捧,當然也催生一大批教育培訓。

很多人在說Python找不到工作,花錢去學的都是韭菜。其實我相信大部分人學習Python,並不是指望著靠Python去找工作,而是解決問題,培養自己的程式設計能力,作為加分項。至於哪些崗位需要python,這就是我們要聊的問題。

能夠用到Python的工作有哪些?

我以我高中、大學的幾個同學的經歷為例,分別介紹下他們用Python的場景。

1、同學A:TOP3電商平臺 NLP演算法工程師

他是校招進去的,做UGC內容的文字挖掘,去分析電商使用者的評論、客服、問答等資料,給商品推薦、智慧客服等場景做決策。這是屬於純粹的演算法崗了,在大廠裡那是相當吃香,校招打包價都快50。

面試的時候,對用哪門語言其實並沒有嚴格限制,Python、Java、C++都可以,但是需要手寫演算法,也會考上面幾種框架的使用。

同學A說他們組現在用到的技術棧是NLP、深度學習、大資料,像nltk、tensorflow、pytorch、hadoop、spark之類,都是主力工具。組裡大部分人都用Python,有少部分大佬用C++,總得來說是可以跑就行。

我問同學A為什麼用Python,他笑著說了四個字“人生苦短”啊,Python寫指令碼、做測試、跑資料實在是太方便,雖然跑演算法沒有C++快,但是並不會帶來很大差異,因為他們不需要實時去出結果。

而且Python第三方庫有大量的NLP、機器學習工具,NLP領域像nltk、Pattern、Gensim等,機器學習像sklearn、keras、tf等,整合得非常好,拿來就用。

2、同學B:某頭部自主車企 後端開發工程師

同學B是原來在乙方軟體公司工作,主要負責車機軟體的開發,後來不想捲去了甲方做web安全後端,但發現活一點沒變少,可能這幾年汽車電子發展太快,都在更新迭代。

現在車企招聘比較青睞計算機背景的候選人,許多在網際網路裁員大潮中全身而退的技術人去了車企做開發、做產品,其實也是個不錯的選擇,趕上新能源發展的機遇。

他們做的安全相關業務後端開發,平常主要用到Django、Django RESTFramework、docker等框架,還有MySQL、MongoDB、Redis等資料庫,基本上都是基於Python去做開發。

說來也奇怪,安全產品一直是C/C++為主,佔據絕大部分場景,為什麼他們會用到Python?我這樣問同學B。

他說你還是不瞭解,安全領域C/C++、Java、Python一直是三大主流技術棧,像NTA、防火牆、IDS、IPS都會用到Python,一些小型的後端服務也會採用Python進行開發。

3、同學C:一家小型基金管理公司 量化分析員

同學C是在英國待過一年,回國後面了好幾家大券商、大基金公司,都止步在技術面,後來進了一家上海本地的一家小型基金管理公司,做CTA高頻量化模型開發,平時搞搞交易策略的研發、除錯、最佳化、維護及監控。

他說當時進來也是想鍛鍊下技術能力,為後面去大廠鋪路,加上業績的壓力,所以基本每天996,寫策略寫到麻木。平常還要做資料的收集和處理、歷史資料回測以及風險收益評估等,總之把人用到極致。

由於我不太懂Python在金融行業的應用,於是問他做量化一定要用Python嗎?

他笑了笑說,你可以去招聘網站上搜搜看,金融行業做分析搞研究的現在清一色的需要程式設計能力,其中大部分要求python,國外像摩根、花旗這樣的大公司基本上把python當作硬性門檻了。

量化領域基本是以C++和Python為主,C++一般用來寫大型交易框架,穩定性強,而且速度快,Python則用來寫策略、跑演算法、驗證模型,也支援一些小型應用的編寫,對C++庫進行包裝等。

這主要是因為Python生態有大量的金融資料分析工具,像talib、pandas、numpy等,可以快速引用。

這三位同學是我身邊拿Python當主力工具的典型代表,其實可以看到都是需要綜合能力的崗位,NLP要求演算法、後端開發要求安全經驗,量化要求會寫策略。所以基本不是說會Python就能夠找到合適的工作。

對Python能力的要求是什麼樣的?

Python是用來解決業務問題的,所以不同崗位的要求必然不同,但前提都是要會熟練使用Python語法,對資料型別、邏輯語句、函式模組、類、程序執行緒、錯誤處理、網路程式設計、正則表示式。。。這些務必要了如指掌。

這裡建議大家去官方文件一一對照著去學習:

其次針對不同崗位要學習不同的Python框架,這些框架的難度一點也不必Python本身容易,有些大的框架比如tensorflow其學習成本已經遠遠超出Python語法。

爬蟲崗:requests、xpath、beautifulsoup、scrapy、selenuim

資料分析崗:pandas、numpy、sklearn、matplotlib、pymysql

演算法崗:sklearn、keras、tensorflow、pytorch

nlp崗:nltk、Gensim、Pattern

大資料崗:pyspark、pyflink

BI崗:superset、dash

web崗:Django、Flask、Tornado(知乎用這個寫的)、fastapi

測試運維崗:os、sys、selenium、pytest、appium、unittest

前端崗:PyQt、PyGUI、pyecharts、dash、plotly

其他辦公用:xlwings、pandas、pptx、docx、email

以上這些是對應崗位需要用到的工具,也就是python的第三方庫,大家可以一一對應看看自己需要什麼,然後針對性的去學習。

作者:程式設計學習網

連結:https://juejin。cn/post/7111907240776302629

Top