培訓學習python的話?
謝謝邀請!因為工作原因筆者經常會接觸面臨畢業的計算機相關專業大學生,近兩年被問的最多的問題可能是“Python能應用在什么地方?”,于是乎系統整理了一下文末的思維導圖。
Python的應用方向主要是如下幾個方面,這幾個方面也都是筆者經歷過的,不過Python作為通用的編程語言,還可以應用到很多很多我們沒有想到的領域。
1.人工智能開發
AI應用開發實際上可以使用非常多的編程語言,比如Java、C++甚至JavaScript,但是Python無疑是使用最多可以說是處于壟斷地位的AI編程語言,機器學習標準框架Scikit-learn只能用Python開發,深度學習標準框架TensorFlow的主語言是Python,對TensorFlow有非常大威脅的PyTorch也是使用Python語言進行應用開發的。AI開發方向對從業人員有學校、學歷、數學基礎、統計基礎的要求,而且目前主要是大型科技企業有需求,要求從業人員碩士學歷以上、數統或計算機專業畢業。但隨著社會需求的增長與人工智能產業化的加速,對從業人員的要求肯定會逐步降低,畢竟做AI應用的工程師在使用框架的時候很多算法只需要調用API即可,而無需掌握底層數學理論的推導與算法設計。
2.數據分析挖掘
傳統數據分析主要是從Excel與數據庫中取數據來分析,現在加上從數據倉庫中取數據進行大數據分析(或稱為數據挖掘),而數據挖掘就需要掌握機器學習算法,如果只是使用的話其實挺容易,直接調用框架現成的API即可,我們掌握了算法的使用場合與使用條件就可以很好地應用了,對數學的要求其實并不高,只是數學好對理解算法的原理有很大幫助;碩士生可以把算法工程師作為目標,進行算法設計,數據科學家也主要是進行算法研究與設計的。當然數據科學中常用的統計學基本概念還是要熟練掌握的。
3.大數據開發
以Hadoop為代表的大數據平臺主要用于存儲與處理海量數據,不過Hadoop的MapReduce數據處理框架需要將HDFS所在的磁盤作為臨時存儲,所以數據處理的效率不高,這樣Spark基于內存的數據處理框架就具備替代MapReduce的能力,目前情況也基本驗證了這一點。Spark大數據應用開發可以使用Scala/Java/Python來開發,Python開發大數據應用占用的市場份額也在逐步提高。
4.Web企業級應用
Web企業級應用開發方向目前主流是Java與PHP語言,大型企業級應用使用Java,中小型應用可以選擇PHP,Python也可以使用Django或Flask框架開發企業級應用,但總體而言Java占據了霸主地位,Python在企業級應用開發領域想撼動Java的位置現在還看不到希望。
5.自動化測試
自動化測試工程師應該屬于高級測試工程師范疇了,自動化功能測試通過測試腳本模擬人的動作來測試產品的功能,自動化性能測試通過測試腳本來模擬多線程并發等等。原來自動化腳本C/Java語言居多,目前的現狀是Python占據霸主地位,自動化測試工程師言必稱Python,很是恐怖!!
6.自動化運維
自動化運維現在流行的說法叫“智慧運維”,系統級別的任務往往使用Linux Shell腳本編程,業務級別的運維功能使用Python占絕大多數,筆者在深圳電信工作時就寫過不少Python的運維腳本。不過高級運維才會讓你去寫Python腳本咯,需要混不少年才可能有機會,而且需要進的是大公司。
更多資訊請關注筆者頭條號“語凡提”,向智慧化身阿凡提致敬,致力于分享大數據/數據分析/人工智能視頻!