
Python能用來做什么?以下是Python的三大主要用途
如果你想學Python,或者你剛開始學習Python,那么你可能會問:“我能用Python做什么?”
這個問題不好回答,因為Python有很多用途。
但是隨著時間,我發現有Python主要有以下三大主要應用:
· Web開發
· 數據科學
· 腳本
讓我們來依次介紹。
一、Web開發
Django和Flask等基于Python的Web框架最近在Web開發中非常流行。
這些Web框架可以幫助你用Python編寫服務器端代碼(后端代碼)。這是在你的額服務器上運行的代碼,而不是運行在用戶設備和瀏覽器的代碼(前端代碼)。
為什么需要Web框架
因為用Web框架可以更容易地構建通用后端邏輯。這包括將不同的URL映射到Python代碼塊,處理數據庫以及生成用戶在瀏覽器中看到的HTML文件。
應該使用哪種Python Web框架
Django和Flask是最流行的兩種Python Web框架。如果你剛剛入門,我建議使用其中一種。
Django和Flask有什么區別
Gareth Dwyer 關于這個問題有一篇出色的文章,在這里我引用幾段:
主要區別
Flask:能夠實現簡單、靈活和細致的控制。并能讓你自己決定實現方式。
Django:提供了全面的體驗:你可以獲得管理面板、數據庫接口、ORM(對象關系映射)以及開箱即用的應用程序和項目的目錄結構。
如何選擇
Flask:如果你關注的是經驗和學習的機會,或者你想更多地控制使用哪些組件,比如你想使用哪些數據庫以及如何與其進行交互。
Django:如果你關注最終產品,或者你正在研究一個簡單的應用,比如新聞網站、網店或博客,并且你希望有單一實現的方式。
換句話說,如果你是初學者,Flask可能是更好的選擇,因為它要掌握的組件更少。此外,如果你想要更多的定制,那就選Flask。
根據我的數據工程師朋友Jonathan T Ho的說法,由于Flask 的靈活性,在創建REST API時,Flask 比Django 更適合。
另一方面,如果你想直接構建一些東西,Django可能會讓你更快實現。
二、數據科學
機器學習是什么
假設你想開發一個能夠自動檢測圖片內容的程序。給出圖1,你希望程序識別這是一只狗。
圖1
給出圖2,希望程序能識別這是一張桌子。
圖2
你可能會說,我可以寫一些代碼來做到這點。例如,如果圖片中有很多淺棕色像素,那么可以識別是狗。
或者可以檢測圖片中的邊緣,如果有很多直的邊緣,那么就是桌子。
但這種方法很快就不好用了。如果圖片中的狗不是棕色毛的怎么辦?如果圖片只顯示桌子的圓形部分怎么辦?
這里就需要用到機器學習了。
機器學習通過實現算法,該算法能夠自動檢測輸入中的模式。
例如,你將1000張狗的圖片和1000張桌子的圖片輸入給機器學習算法,讓它掌握狗和桌子間的區別。那么當你給出新的圖片讓它識別是狗還是桌子時,它就能夠進行判斷。
這有點類似孩子學習新事物的方式。孩子是如何學習認知狗或桌子的呢?就是通過大量的例子。
你不會明確告訴孩子:“如果某個毛茸茸的東西有淺棕色的毛發,那么就可能是狗?!?
你會說,“這是狗,這也是狗。而這是桌子,那個也是桌子?!?
機器學習算法的方式大致相同。
我們可以將相同的想法應用于:
· 推薦系統
(比如YouTube,亞馬遜和Netflix)
· 人臉識別
· 語音識別
以及其他應用。
你聽過的熱門機器學習算法包括:
· 神經網絡
· 深度學習
· 支持向量機
· 隨機森林
你可以使用上述任何算法來解決前面提到的圖片標簽問題。
將Python用于機器學習
有一些熱門的機器學習庫和Python框架。其中兩個最熱門的是scikit-learn和TensorFlow。
· scikit-learn帶有一些內置的熱門機器學習算法。
· TensorFlow是一個低級庫,能讓你創建自定義機器學習算法。
如果你剛開始進行機器學習項目,我會建議你先從scikit-learn開始。如果你開始遇到效率問題,那么可以使用TensorFlow。
數據分析和數據可視化
假設你在一家在線銷售產品的公司工作。作為數據分析師,你會繪制這樣的條形圖。
條形圖1 - 用Python生成
從這張圖中可以看到在某個周日,男性用戶購買了400多件產品,女性用戶購買了350件產品。
作為數據分析師,對此你會提出一些可能的解釋。明顯的解釋是,該產品在男性用戶中更受歡迎。另一種是樣本量太小,而這種差異是偶然的。還可能呢是由于某種原因,男性往往在周日才購買該產品。
為了理解哪種解釋是正確的,你可以繪制另一個圖。
折線圖1 - 用Python生成
不止看周日的數據,還要看到一周的數據。從這張圖表中可以看出,在不同的日子里這種差異比較一致。
從這個分析中你會得出結論:這種產品在男性中比在女性中更受歡迎。
但如果你看到像這樣的圖表呢?
折線圖2 - 用Python生成
那么,怎么解釋周日的差異呢?
你可能會說,也許出于某種原因男性只在周日才會更多地購買這款產品?;蛟S這只是巧合。
我在谷歌和微軟工作時所做的數據分析工作與這個例子非常相似,只是更復雜一些。在谷歌時我使用Python進行分析,而我在微軟使用JavaScript。
在這兩家公司我都使用SQL從數據庫中提取數據。然后,我用Python和Matplotlib(在谷歌)或JavaScript和D3.js(在微軟)來可視化和分析這些數據。
使用Python進行數據分析/可視化
進行數據可視化時,Matplotlib是非常熱門的庫。
Matplotlib很棒,因為:
· 容易上手
· seaborn等庫是基于它的,學習Matplotlib可以幫助你以后學習其他庫。
如何用Python學習數據分析/可視化
你首先應該了解數據分析和可視化的基礎知識。在學習了數據分析和可視化的基礎知識之后,學習統計學基礎知識也將會很有幫助。
三、腳本
什么是腳本?
腳本通常是指編寫能夠自動執行簡單任務的小程序。
我曾經在日本的一家小型創業公司工作,公司有郵件支持系統,這用來回復客戶通過郵件發送給我們的問題。
在那兒工作時,我的任務是計算包含關鍵字的郵件數量,以便分析我們收到的電子郵件。這可以手動完成,但我寫了一個簡單的腳本來自動執行此任務。
當時我們使用了Ruby,但對于這類任務Python也是不錯的選擇。Python適合這類任務,因為它語法簡單,易于編寫,而且進行測試也很快。
其他用途
嵌入式應用
我不是這方面的專家,但我知道Python可以與Rasberry Pi一起用,在硬件愛好者中很流行。
游戲開發
你可以用PyGame來開發游戲,但這并不是最受歡迎的游戲引擎。你可以用它來開發業余愛好項目,但如果你對游戲開發很認真,建議不要選它。
我建議使用Unity的C#,這是最受歡迎的游戲引擎之一。它能讓你為許多平臺開發游戲,包括Mac、Windows、iOS和Android。
桌面應用
你可以用Python的Tkinter,但這并不是最熱門的選擇。Java,C#和C ++等語言似乎更受歡迎。
最近,一些公司也開始使用JavaScript來開發桌面應用程序。例如,Slack的桌面應用是Electron構建的。它能讓你用JavaScript構建桌面應用程序。
就個人而言,如果我要開發桌面應用,我會選擇使用JavaScript。它能讓你重新使用網絡版本的一些代碼。
當然,我并不是桌面應用的專家,所以如果你有不同的看法,評論中告訴我。
Python 3還是Python 2
我會推薦Python 3,因為它更新而且更受歡迎。
后端代碼與前端代碼的區別
假設你想開發類似Instagram的產品,那么你需要為想要支持類型的設備創建前端代碼。
你可能會用到:
· 面向iOS端的Swift
· 面向Android的Java
· 面向Web瀏覽器的JavaScript
每組代碼將在每種類型的設備上運行。這類代碼將決定應用的布局樣式,點擊按鍵的樣式等。
但,您還需要存儲用戶信息和照片的功能。你要將它們存儲在服務器上,而不僅僅存儲在用戶的設備上,以便每個用戶的關注者都可以查看其照片。
這時需要用到后端代碼/服務器端代碼。你需要編寫后端代碼來執行以下操作:
· 記錄關注情況
· 壓縮照片,從而不占用太多存儲空間
· 在發現功能中向每個用戶推薦照片和新帳戶
這是后端代碼和前端代碼之間的區別。
順便說一下,Python不是編寫后端代碼的唯一選擇,還有基于JavaScript的Node.js等選擇。
數據分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
CDA數據分析師證書考試體系(更新于2025年05月22日)
2025-05-26解碼數據基因:從數字敏感度到邏輯思維 每當看到超市貨架上商品的排列變化,你是否會聯想到背后的銷售數據波動?三年前在零售行 ...
2025-05-23在本文中,我們將探討 AI 為何能夠加速數據分析、如何在每個步驟中實現數據分析自動化以及使用哪些工具。 數據分析中的AI是什么 ...
2025-05-20當數據遇見人生:我的第一個分析項目 記得三年前接手第一個數據分析項目時,我面對Excel里密密麻麻的銷售數據手足無措。那些跳動 ...
2025-05-20在數字化運營的時代,企業每天都在產生海量數據:用戶點擊行為、商品銷售記錄、廣告投放反饋…… 這些數據就像散落的拼圖,而相 ...
2025-05-19在當今數字化營銷時代,小紅書作為國內領先的社交電商平臺,其銷售數據蘊含著巨大的商業價值。通過對小紅書銷售數據的深入分析, ...
2025-05-16Excel作為最常用的數據分析工具,有沒有什么工具可以幫助我們快速地使用excel表格,只要輕松幾步甚至輸入幾項指令就能搞定呢? ...
2025-05-15數據,如同無形的燃料,驅動著現代社會的運轉。從全球互聯網用戶每天產生的2.5億TB數據,到制造業的傳感器、金融交易 ...
2025-05-15大數據是什么_數據分析師培訓 其實,現在的大數據指的并不僅僅是海量數據,更準確而言是對大數據分析的方法。傳統的數 ...
2025-05-14CDA持證人簡介: 萬木,CDA L1持證人,某電商中廠BI工程師 ,5年數據經驗1年BI內訓師,高級數據分析師,擁有豐富的行業經驗。 ...
2025-05-13CDA持證人簡介: 王明月 ,CDA 數據分析師二級持證人,2年數據產品工作經驗,管理學博士在讀。 學習入口:https://edu.cda.cn/g ...
2025-05-12CDA持證人簡介: 楊貞璽 ,CDA一級持證人,鄭州大學情報學碩士研究生,某上市公司數據分析師。 學習入口:https://edu.cda.cn/g ...
2025-05-09CDA持證人簡介 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度、美團、阿里等 ...
2025-05-07相信很多做數據分析的小伙伴,都接到過一些高階的數據分析需求,實現的過程需要用到一些數據獲取,數據清洗轉換,建模方法等,這 ...
2025-05-06以下的文章內容來源于劉靜老師的專欄,如果您想閱讀專欄《10大業務分析模型突破業務瓶頸》,點擊下方鏈接 https://edu.cda.cn/g ...
2025-04-30CDA持證人簡介: 邱立峰 CDA 數據分析師二級持證人,數字化轉型專家,數據治理專家,高級數據分析師,擁有豐富的行業經驗。 ...
2025-04-29CDA持證人簡介: 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度,美團,阿里等 ...
2025-04-28CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-27數據分析在當今信息時代發揮著重要作用。單因素方差分析(One-Way ANOVA)是一種關鍵的統計方法,用于比較三個或更多獨立樣本組 ...
2025-04-25CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-25