近幾年Python的發展形勢很迅猛,可以說“網紅語言”,我國已經將python納入課程。根據個人經驗,以及對python的淺見,以爲python有以下三大用途:
1、 Web開發
2、數據科學:包括機器學習、數據分析和數據可視化
3、腳本
一、Web開發
* Django和Flask等基於Python的Web框架最近在Web開發中非常流行。
這些Web框架可以幫助你用Python編寫服務器端代碼(後端代碼)。這是在你的服務器上運行的代碼,而不是運行在用戶設備和瀏
覽器的代碼(前端代碼)。
* 使用Web框架的好處是:可以更容易地構建通用後端邏輯。這包括將不同的URL映射到Python代碼塊,處理數據庫以及生成用
戶在瀏覽器中看到的HTML文件。
* 兩個框架的區別:
Flask:能夠實現簡單、靈活和細緻的控制。並能讓你自己決定實現方式。
Django:提供了全面的體驗:你可以獲得管理面板、數據庫接口、ORM(對象關係映射)以及開箱即用的應用程序和項目的目錄結構。
* 如何選擇
Flask:如果你關注的是經驗和學習的機會,或者你想更多地控制使用哪些組件,比如你想使用哪些數據庫以及如何與其進行交互。
Django:如果你關注最終產品,或者你正在研究一個簡單的應用,比如新聞網站、網店或博客,並且你希望有單一實現的方式。
二、數據科學
包括機器學習,數據分析和數據可視化
1、機器學習
機器學習通過實現算法,該算法能夠自動檢測輸入中的模式。
例如,你將1000張狗的圖片和1000張桌子的圖片輸入給機器學習算法,讓它掌握狗和桌子間的區別。那麼當你給出新的圖片
讓它識別是狗還是桌子時,它就能夠進行判斷。
這有點類似孩子學習新事物的方式。孩子是如何學習認知狗或桌子的呢?就是通過大量的例子。
你不會明確告訴孩子:“如果某個毛茸茸的東西有淺棕色的毛髮,那麼就可能是狗。” 你會說,“這是狗,這也是狗。而這是桌子,那個也是桌子。“
* 機器學習算法的方式大致相同。
我們可以將相同的想法應用於:
1、推薦系統:比如YouTube,亞馬遜和Netflix
2、人臉識別
3、語音識別
以及其他應用。
你聽過的熱門機器學習算法包括:
1、神經網絡
2、深度學習
3、支持向量機
4、隨機森林
你可以使用上述任何算法來解決前面提到的圖片標籤問題。
* 將Python用於機器學習
有一些熱門的機器學習庫和Python框架。其中兩個最熱門的是scikit-learn和TensorFlow。
1、scikit-learn帶有一些內置的熱門機器學習算法。
2、TensorFlow是一個低級庫,能讓你創建自定義機器學習算法。
如果剛開始進行機器學習項目,先從scikit-learn開始。如果開始遇到效率問題,那麼可以使用TensorFlow。
2、 數據分析和數據可視化
假設在一家在線銷售產品的公司工作。作爲數據分析師,你會繪製這樣的條形圖。
從這張圖中可以看到在某個週日,男性用戶購買了400多件產品,女性用戶購買了350件產品。
作爲數據分析師,對此你會提出一些可能的解釋。明顯的解釋是,該產品在男性用戶中更受歡迎。另一種是樣本量太小,而這種差異是偶然的。還可能呢是由於某種原因,男性往往在週日才購買該產品。
爲了理解哪種解釋是正確的,你可以繪製另一個圖。
不止看週日的數據,還要看到一週的數據。從這張圖表中可以看出,在不同的日子裏這種差異比較一致。
從這個分析中你會得出結論:這種產品在男性中比在女性中更受歡迎。
但如果你看到像這樣的圖表呢?
那麼,怎麼解釋週日的差異呢?
也許出於某種原因男性只在週日纔會更多地購買這款產品。或許這只是巧合。
谷歌和微軟兩家公司所做的數據分析工作與這個例子非常相似,只是更復雜一些。
在這兩家公司我都使用SQL從數據庫中提取數據。然後,我用Python和Matplotlib(在谷歌)或JavaScript和D3.js(在微軟)來可視化和分析這些數據。
* 使用Python進行數據分析/可視化
進行數據可視化時,Matplotlib是非常熱門的庫。
Matplotlib的好處:
1、容易上手
2、seaborn等庫是基於它的,學習Matplotlib可以幫助你以後學習其他庫。
* 如何用Python學習數據分析/可視化
你首先應該瞭解數據分析和可視化的基礎知識。在學習了數據分析和可視化的基礎知識之後,學習統計學基礎知識也將會很有幫助。
三、腳本
什麼是腳本?
腳本通常是指編寫能夠自動執行簡單任務的小程序。
例如如果有一個需求是計算包含關鍵字的郵件數量,以便分析收到的電子郵件。這類可以編寫一個簡單的腳本來自動執行此任務。
對於這類任務Python也是不錯的選擇。Python適合這類任務,因爲它語法簡單,易於編寫,而且進行測試也很快。
更多請參閱:
https://medium.freecodecamp.org/what-can-you-do-with-python-the-3-main-applications-518db9a68a78