hello,你們好,以前分享了一個關於Python新人們對於Python崗位的諮詢與學習發展,那麼本文將以前的分享稍做總結分享出來。javascript
Python是一門面向對象的解釋型語言,在這20多年的時間來,Python的各類生態愈來愈齊備,加上其自身簡潔的語法,這些年python的使用量逐年上升(2019。6月已經排行前三)css
Python主流的幾大領域 與 發展方向 (薪資參考 boss職聘與獵聘與拉鉤)html
1:人工智能前端
集多項技術於一身,使機器能夠感覺、理解、學習並採起行動,不管是自食其力仍是參與人類活動。vue
python的表明模塊 tensorflowhtml5
前置項: 高數爲基礎,算法要求高,python基礎java
薪資範圍: 15k~50k 左右python
2:數據分析mysql
指用適當的統計分析方法對收集來的大量數據進行分析,提取有用信息和造成結論,並對數據加以詳細研究和歸納總結的過程webpack
Python的表明模塊:numpy panda
前置項:python基礎 數據結構思路要求清晰
薪資範圍:15k~40k 左右
3:爬蟲
一種按照必定的規則,自動地抓取萬維網信息的程序或者腳本。另一些不常使用的名字還有螞蟻、自動索引、模擬程序或者蠕蟲。
python的表明模塊 scrapy beatuifulsoup 等
前置項 python基礎
薪資範圍:15k~35k 左右
4:web開發
最傳統的 c s 開發(client and service)現在的不管是互聯網仍是物聯通,只要不是本機操做,必定不會繞過 web service,以致於成爲全部行業幾乎都會接觸的領域,也最爲基礎
python 表明模塊 django flask tornado 等
前置項: python 基礎
薪資範圍: 15k~35k 左右
還有不少的崗位,好比 量化交易,圖像識別,軟件開發,遊戲開發,區塊鏈等,都有python的崗位。
學習 Python 的 一些必用知識
1: 選擇python3.5以上版本進行學習:由於python2到2020年官方將中止維護,而且3.5版本以前的python3性能上還有所缺陷,這裏推薦 python3.6與python3.7版本
2: 在學習了基本的python語法以後,必學的python庫以下:
TCP的使用 socket 庫:以上四個方向沒有一個是必定不會用到這個庫的,在進行數據採集的時候,若是想快速傳輸數據,socket 無疑是一個很是高效的選擇
http 的使用 request 庫:以上四個方向必會的庫, 尤爲是 爬蟲與web開發,http請求幾乎是必定存在於全部項目之中的,瞭解http協議 與 http包是很是重要的,那麼咱們能夠以 request這個庫爲媒介,進行深刻學習瞭解,固然從性能上來講,我感受tornado的httpclient可能性能更好一些。也推薦你們使用。
多線程的使用 gevent thread mutiprocess: 若是想更效率的執行你的項目,不管是數據分析,爬蟲,機器學習,併發的執行必定是一個高效率的工做方式,因而以上三個庫也是python必學的庫,那麼做爲web開發,若是想支持高併發,多進程 多線程的部署也是必須的,若是更好的提升併發基礎是web service開發很是重要的一堂課。 從事python崗位的同窗應該知道 gil是什麼,使得python的多線程不那麼高效。若是 想關閉gil全局鎖,能夠考慮一下 pypy,但關閉真的好嗎?有待商榷。
db sdk 的使用,在學習 一個後端語言的時候,至少要學會使用2 個 db,一個 關係型數據庫 (如 mysql),一個非關係型數據庫 (如 redis, mongodb)這是 做爲數據存儲最基礎的兩個庫,根據業務的不一樣 使用不一樣種類的數據庫。
其實呢,沒有絕對的等級劃分,可是硬要說的話呢,我我的對因而否已經擺脫新手,進入一個初級階段甚至再高一點的評判,並不必定準確,但我認爲能夠做爲一個參考給你們(掌握基礎知識是必備的,不做爲評級使用):
3:初級和非初級的一個重要的分水嶺是解決問題的能力;當程序報錯的時候,可以查看錯誤 根據錯誤本身尋找答案,就已經達到初級以上的水平,由於能夠肯定,你有本身解決問題的能力。
4:初級和中級的一個分水嶺;拿到一個sdk 可以讀懂源碼,理解程序的執行邏輯,而非拿來主義直接使用了事。好比 阿里雲有些sdk的方法很噁心,寫的不是很清晰,你從他的文檔幾乎看不出什麼,這時候若是你不會看sdk源碼,基本此項目你已經掛了。因此反之能夠看源碼你將知道你要用什麼功能 ,怎麼用。甚至說不定還能找出他的一些bug或重寫他的一個功能。舉例,pymysq 取出數據庫的時間是一個datetime類型,可是在json傳輸的時候,datetime沒法被序列化
以 web開發爲例 的一個 事業發展規劃
第一階段:學會 python基礎,並學會 web開發的基本開發 業務開發(如使用 django框架),學會使用db的sdk ,學會和客戶端交互(application/json)
第二階段:學會前端開發,html5 css3 javascript 能夠獨立開發先後端業務(錦上添花 學會 vue 學會 webpack 等 更高效 更主流的 開發框架與構建工具),前端與app的交互與service的交互
第三階段:先後端可用性(全棧開發):
後端:部署高可用服務,至少保證多地多活(即多地部署,有1服務可用便可保證服務可用),數據庫高併發的實現(如集羣化,讀寫分離,緩存穿透等)還有不少不少…… 對服務進行監控與維護
前端:避免前端v8引擎優化失效,更高效的使用異步,如何能夠減小更多的流量(移動端),如何更好的保證前端的代碼安全等
第四階段:參與項目設計,參與項目業務架構,輸出項目各類圖:如 架構圖,類圖,時序圖等,參與初期項目語言,框架選型,代碼結構制定;對代碼標準進行肯定;對後期代碼上線前的標準審覈進行肯定,攻克項目技術難點,開發項目核心代碼,帶路項目組員進行開發;-------架構
最後呢,幾點建議給你們
1:多練多寫多思考,不求人,鍛鍊本身解決問題的能力
2:堅持一門語言作主語言,當你認爲對這一門語言掌握作夠好的時候,再去拓展別的語言
3:請愛上你的主語言~
以上是一個不太成熟的 但應該對新人朋友們有些參考價值的分享。但願你們有幫助,比心~
················