Python能用來做什么烘苹?這3大主要用途你一定要知道躲株!

導(dǎo)讀:如果你想學(xué)Python,或者你剛開始學(xué)習Python镣衡,那么你可能會問:“我能用Python做什么霜定?”

這個問題不好回答,因為Python有很多用途廊鸥。

但是隨著時間望浩,我發(fā)現(xiàn)有Python主要有以下三大主要應(yīng)用:

Web開發(fā)

數(shù)據(jù)科學(xué):包括機器學(xué)習、數(shù)據(jù)分析和數(shù)據(jù)可視化

腳本

本文將依次介紹惰说。

作者:YK Sugi

編譯:Mika

來源:CDA數(shù)據(jù)分析師(ID:cdacdacda)

01 Web開發(fā)

Django和Flask等基于Python的Web框架最近在Web開發(fā)中非常流行磨德。

這些Web框架可以幫助你用Python編寫服務(wù)器端代碼(后端代碼)。這是在你的額服務(wù)器上運行的代碼吆视,而不是運行在用戶設(shè)備和瀏覽器的代碼(前端代碼)典挑。

1. 為什么需要Web框架

因為用Web框架可以更容易地構(gòu)建通用后端邏輯。這包括將不同的URL映射到Python代碼塊啦吧,處理數(shù)據(jù)庫以及生成用戶在瀏覽器中看到的HTML文件您觉。

2. 應(yīng)該使用哪種Python Web框架

Django和Flask是最流行的兩種Python Web框架。如果你剛剛?cè)腴T授滓,我建議使用其中一種琳水。

3. Django和Flask有什么區(qū)別

Gareth Dwyer 關(guān)于這個問題有一篇出色的文章,在這里我引用幾段:

主要區(qū)別

Flask:能夠?qū)崿F(xiàn)簡單般堆、靈活和細致的控制在孝。并能讓你自己決定實現(xiàn)方式。

Django:提供了全面的體驗:你可以獲得管理面板淮摔、數(shù)據(jù)庫接口私沮、ORM(對象關(guān)系映射)以及開箱即用的應(yīng)用程序和項目的目錄結(jié)構(gòu)。

如何選擇

Flask:如果你關(guān)注的是經(jīng)驗和學(xué)習的機會和橙,或者你想更多地控制使用哪些組件顾彰,比如你想使用哪些數(shù)據(jù)庫以及如何與其進行交互。

Django:如果你關(guān)注最終產(chǎn)品胃碾,或者你正在研究一個簡單的應(yīng)用涨享,比如新聞網(wǎng)站、網(wǎng)店或博客仆百,并且你希望有單一實現(xiàn)的方式厕隧。

換句話說,如果你是初學(xué)者俄周,F(xiàn)lask可能是更好的選擇吁讨,因為它要掌握的組件更少。此外峦朗,如果你想要更多的定制建丧,那就選Flask。

根據(jù)我的數(shù)據(jù)工程師朋友Jonathan T Ho的說法波势,由于Flask 的靈活性翎朱,在創(chuàng)建REST API時橄维,F(xiàn)lask 比Django 更適合。

另一方面拴曲,如果你想直接構(gòu)建一些東西争舞,Django可能會讓你更快實現(xiàn)。

02 數(shù)據(jù)科學(xué)

數(shù)據(jù)科學(xué)澈灼,這里包括機器學(xué)習竞川,數(shù)據(jù)分析和數(shù)據(jù)可視化。

1. 機器學(xué)習是什么?

假設(shè)你想開發(fā)一個能夠自動檢測圖片內(nèi)容的程序叁熔。給出圖1委乌,你希望程序識別這是一只狗。

▲圖1

給出圖2荣回,希望程序能識別這是一張桌子遭贸。


▲圖2

你可能會說,我可以寫一些代碼來做到這點驹马。例如革砸,如果圖片中有很多淺棕色像素,那么可以識別是狗糯累。

或者可以檢測圖片中的邊緣算利,如果有很多直的邊緣,那么就是桌子泳姐。

但這種方法很快就不好用了效拭。如果圖片中的狗不是棕色毛的怎么辦?如果圖片只顯示桌子的圓形部分怎么辦胖秒?

這里就需要用到機器學(xué)習了缎患。

機器學(xué)習通過實現(xiàn)算法,該算法能夠自動檢測輸入中的模式阎肝。

例如挤渔,你將1000張狗的圖片和1000張桌子的圖片輸入給機器學(xué)習算法,讓它掌握狗和桌子間的區(qū)別风题。那么當你給出新的圖片讓它識別是狗還是桌子時判导,它就能夠進行判斷。

這有點類似孩子學(xué)習新事物的方式沛硅。孩子是如何學(xué)習認知狗或桌子的呢眼刃?就是通過大量的例子。

你不會明確告訴孩子:“如果某個毛茸茸的東西有淺棕色的毛發(fā)摇肌,那么就可能是狗擂红。”

你會說围小,“這是狗昵骤,這也是狗树碱。而這是桌子,那個也是桌子涉茧「昂蓿“

機器學(xué)習算法的方式大致相同疹娶。

我們可以將相同的想法應(yīng)用于:

推薦系統(tǒng):比如YouTube伴栓,亞馬遜和Netflix

人臉識別

語音識別

以及其他應(yīng)用。

你聽過的熱門機器學(xué)習算法包括:

神經(jīng)網(wǎng)絡(luò)

深度學(xué)習

支持向量機

隨機森林

你可以使用上述任何算法來解決前面提到的圖片標簽問題雨饺。

2. 將Python用于機器學(xué)習

有一些熱門的機器學(xué)習庫和Python框架钳垮。其中兩個最熱門的是scikit-learn和TensorFlow。

scikit-learn帶有一些內(nèi)置的熱門機器學(xué)習算法额港。

TensorFlow是一個低級庫饺窿,能讓你創(chuàng)建自定義機器學(xué)習算法。

如果你剛開始進行機器學(xué)習項目移斩,我會建議你先從scikit-learn開始肚医。如果你開始遇到效率問題,那么可以使用TensorFlow向瓷。

3. 數(shù)據(jù)分析和數(shù)據(jù)可視化

假設(shè)你在一家在線銷售產(chǎn)品的公司工作肠套。作為數(shù)據(jù)分析師,你會繪制這樣的條形圖猖任。


▲條形圖1 - 用Python生成

從這張圖中可以看到在某個周日你稚,男性用戶購買了400多件產(chǎn)品,女性用戶購買了350件產(chǎn)品朱躺。

作為數(shù)據(jù)分析師刁赖,對此你會提出一些可能的解釋。明顯的解釋是长搀,該產(chǎn)品在男性用戶中更受歡迎宇弛。另一種是樣本量太小,而這種差異是偶然的源请。還可能呢是由于某種原因枪芒,男性往往在周日才購買該產(chǎn)品。

為了理解哪種解釋是正確的巢钓,你可以繪制另一個圖病苗。


▲折線圖1 - 用Python生成

不止看周日的數(shù)據(jù),還要看到一周的數(shù)據(jù)症汹。從這張圖表中可以看出硫朦,在不同的日子里這種差異比較一致。

從這個分析中你會得出結(jié)論:這種產(chǎn)品在男性中比在女性中更受歡迎背镇。

但如果你看到像這樣的圖表呢咬展?


▲折線圖2 - 用Python生成

那么泽裳,怎么解釋周日的差異呢?

你可能會說破婆,也許出于某種原因男性只在周日才會更多地購買這款產(chǎn)品涮总。或許這只是巧合祷舀。

我在谷歌和微軟工作時所做的數(shù)據(jù)分析工作與這個例子非常相似瀑梗,只是更復(fù)雜一些。在谷歌時我使用Python進行分析裳扯,而我在微軟使用JavaScript抛丽。

在這兩家公司我都使用SQL從數(shù)據(jù)庫中提取數(shù)據(jù)。然后饰豺,我用Python和Matplotlib(在谷歌)或JavaScript和D3.js(在微軟)來可視化和分析這些數(shù)據(jù)亿鲜。

4. 使用Python進行數(shù)據(jù)分析/可視化

進行數(shù)據(jù)可視化時,Matplotlib是非常熱門的庫冤吨。

Matplotlib很棒蒿柳,因為:

容易上手

seaborn等庫是基于它的,學(xué)習Matplotlib可以幫助你以后學(xué)習其他庫漩蟆。

5. 如何用Python學(xué)習數(shù)據(jù)分析/可視化

你首先應(yīng)該了解數(shù)據(jù)分析和可視化的基礎(chǔ)知識垒探。在學(xué)習了數(shù)據(jù)分析和可視化的基礎(chǔ)知識之后,學(xué)習統(tǒng)計學(xué)基礎(chǔ)知識也將會很有幫助爆安。

03 腳本

什么是腳本叛复?

腳本通常是指編寫能夠自動執(zhí)行簡單任務(wù)的小程序。

我曾經(jīng)在日本的一家小型創(chuàng)業(yè)公司工作扔仓,公司有郵件支持系統(tǒng)褐奥,這用來回復(fù)客戶通過郵件發(fā)送給我們的問題。

在那兒工作時翘簇,我的任務(wù)是計算包含關(guān)鍵字的郵件數(shù)量撬码,以便分析我們收到的電子郵件。這可以手動完成版保,但我寫了一個簡單的腳本來自動執(zhí)行此任務(wù)呜笑。

當時我們使用了Ruby,但對于這類任務(wù)Python也是不錯的選擇彻犁。Python適合這類任務(wù)叫胁,因為它語法簡單,易于編寫汞幢,而且進行測試也很快驼鹅。

04 其他用途

1. 嵌入式應(yīng)用

我不是這方面的專家,但我知道Python可以與Rasberry Pi一起用,在硬件愛好者中很流行输钩。

2. 游戲開發(fā)

你可以用PyGame來開發(fā)游戲豺型,但這并不是最受歡迎的游戲引擎。你可以用它來開發(fā)業(yè)余愛好項目买乃,但如果你對游戲開發(fā)很認真姻氨,建議不要選它。

我建議使用Unity的C#剪验,這是最受歡迎的游戲引擎之一肴焊。它能讓你為許多平臺開發(fā)游戲,包括Mac碉咆、Windows抖韩、iOS和Android蛀恩。

3. 桌面應(yīng)用

你可以用Python的Tkinter疫铜,但這并不是最熱門的選擇。Java双谆,C#和C ++等語言似乎更受歡迎壳咕。

最近,一些公司也開始使用JavaScript來開發(fā)桌面應(yīng)用程序顽馋。例如,Slack的桌面應(yīng)用是Electron構(gòu)建的。它能讓你用JavaScript構(gòu)建桌面應(yīng)用程序是晨。

就個人而言躺坟,如果我要開發(fā)桌面應(yīng)用,我會選擇使用JavaScript熊痴。它能讓你重新使用網(wǎng)絡(luò)版本的一些代碼他爸。

當然,我并不是桌面應(yīng)用的專家果善,所以如果你有不同的看法诊笤,評論中告訴我。

4. Python 3還是Python 2

我會推薦Python 3巾陕,因為它更新而且更受歡迎讨跟。

5. 后端代碼與前端代碼的區(qū)別

假設(shè)你想開發(fā)類似Instagram的產(chǎn)品,那么你需要為想要支持類型的設(shè)備創(chuàng)建前端代碼鄙煤。

你可能會用到:

面向iOS端的Swift?

面向Android的Java

面向Web瀏覽器的JavaScript

每組代碼將在每種類型的設(shè)備上運行晾匠。這類代碼將決定應(yīng)用的布局樣式,點擊按鍵的樣式等梯刚。

但是凉馆,您還需要存儲用戶信息和照片的功能。你要將它們存儲在服務(wù)器上,而不僅僅存儲在用戶的設(shè)備上句喜,以便每個用戶的關(guān)注者都可以查看其照片预愤。

這時需要用到后端代碼/服務(wù)器端代碼。你需要編寫后端代碼來執(zhí)行以下操作:

記錄關(guān)注情況

壓縮照片咳胃,從而不占用太多存儲空間

在發(fā)現(xiàn)功能中向每個用戶推薦照片和新帳戶

這是后端代碼和前端代碼之間的區(qū)別植康。

順便說一下,Python不是編寫后端代碼的唯一選擇展懈,還有基于JavaScript的Node.js等選擇销睁。

原文鏈接:

https://medium.freecodecamp.org/what-can-you-do-with-python-the-3-main-applications-518db9a68a78

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市存崖,隨后出現(xiàn)的幾起案子冻记,更是在濱河造成了極大的恐慌,老刑警劉巖来惧,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件冗栗,死亡現(xiàn)場離奇詭異,居然都是意外死亡供搀,警方通過查閱死者的電腦和手機隅居,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來葛虐,“玉大人胎源,你說我怎么就攤上這事∮炱辏” “怎么了涕蚤?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長的诵。 經(jīng)常有香客問我万栅,道長,這世上最難降的妖魔是什么奢驯? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任申钩,我火速辦了婚禮,結(jié)果婚禮上瘪阁,老公的妹妹穿的比我還像新娘撒遣。我一直安慰自己,他們只是感情好管跺,可當我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布义黎。 她就那樣靜靜地躺著,像睡著了一般豁跑。 火紅的嫁衣襯著肌膚如雪廉涕。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天,我揣著相機與錄音狐蜕,去河邊找鬼宠纯。 笑死,一個胖子當著我的面吹牛层释,可吹牛的內(nèi)容都是我干的婆瓜。 我是一名探鬼主播,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼贡羔,長吁一口氣:“原來是場噩夢啊……” “哼廉白!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起乖寒,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤猴蹂,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后楣嘁,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體磅轻,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年马澈,在試婚紗的時候發(fā)現(xiàn)自己被綠了瓢省。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡痊班,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出摹量,到底是詐尸還是另有隱情涤伐,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布缨称,位于F島的核電站凝果,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏睦尽。R本人自食惡果不足惜器净,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望当凡。 院中可真熱鬧山害,春花似錦、人聲如沸沿量。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽朴则。三九已至权纤,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背汹想。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工外邓, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人古掏。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓坐榆,卻偏偏與公主長得像,于是被迫代替她去往敵國和親冗茸。 傳聞我的和親對象是個殘疾皇子席镀,可洞房花燭夜當晚...
    茶點故事閱讀 44,941評論 2 355