黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

Python 的 3 個主要應(yīng)用方向

系統(tǒng) 2131 0

朋友們,我是床長! 如需轉(zhuǎn)載請標(biāo)明出處:http://blog.csdn.net/jiangjunshow

?

如果你準(zhǔn)備開始學(xué)習(xí) Python 或者你已經(jīng)開始了學(xué)習(xí) Python ,那么,你肯能會問自己: “我用 Python 究竟能做些什么?”

嗯,這是一個棘手的問題,因為Python有很多應(yīng)用方向。但隨著時間的推移,我發(fā)現(xiàn)Python有3個主要應(yīng)用方向:

  • Web 開發(fā)
  • 數(shù)據(jù)科學(xué) - 包括機(jī)器學(xué)習(xí),數(shù)據(jù)分析和數(shù)據(jù)可視化
  • 腳本

讓我們依次來談?wù)劽恳粋€。

Web 開發(fā)

最近基于 Python 的Web框架(如 Django Flask )在Web開發(fā)中變得非常流行。

這些Web框架可幫助你在 Python 中創(chuàng)建服務(wù)器端代碼(后端代碼)。 這是在你的服務(wù)器上運行的代碼,而不是用戶的設(shè)備和瀏覽器(前端代碼)。 如果你不熟悉后端代碼和前端代碼之間的區(qū)別,請參閱下面的腳注。

但是等等,為什么我需要一個Web框架?

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

我應(yīng)該使用哪個Python Web框架?

Django Flask 是兩個最流行的Python Web框架。 如果你剛?cè)腴T,我建議你使用其中一個。 Django Flask 有什么區(qū)別? Gareth Dwyer有一篇關(guān)于這個主題的優(yōu)秀文章,所以我在這里引用它:

<引用 開始>

主要對比:

Flask 提供簡單,靈活和細(xì)粒度控制。 它是不受歡迎的(它可以讓你決定如何實現(xiàn)它)。 Django 提供了一個包羅萬象的體驗:你可以獲得管理面板,數(shù)據(jù)庫接口, ORM [對象關(guān)系映射]以及開箱即用的應(yīng)用程序和項目的目錄結(jié)構(gòu)。

你應(yīng)該選擇:

Flask ,如果你專注于體驗和學(xué)習(xí)機(jī)會,或者你想要更多地控制使用哪些組件(例如你想要使用哪些數(shù)據(jù)庫以及如何與它們進(jìn)行交互)。

Django ,如果你專注于最終產(chǎn)品。特別是如果你正在開發(fā)一個直接的應(yīng)用程序,如新聞網(wǎng)站,電子商店或博客,你希望總是有一種明顯的做事方式。

換句話說,如果你是初學(xué)者, Flask 可能是一個更好的選擇,因為它有更少的組件需要處理。 此外,如果你想要更多自定義, Flask 是更好的選擇。

另一方面,如果你想要直接構(gòu)建一些東西, Django 可能會讓你更快地到達(dá)那里。

好的,我們來看下一個主題吧!

數(shù)據(jù)科學(xué) - 包括機(jī)器學(xué)習(xí),數(shù)據(jù)分析和數(shù)據(jù)可視化

1. 機(jī)器學(xué)習(xí)

首先,讓我們回顧一下機(jī)器學(xué)習(xí)是什么

我認(rèn)為解釋機(jī)器學(xué)習(xí)的最佳方法是給你一個簡單的例子。 假設(shè)你想要開發(fā)一個程序來自動檢測圖片中的內(nèi)容。

因此,如下圖(圖1),你希望程序識別出它是一只狗。

?

Python 的 3 個主要應(yīng)用方向_第1張圖片

?

?

鑒于下面的另一個(圖2),你希望程序識別它是一個桌子。

?

Python 的 3 個主要應(yīng)用方向_第2張圖片

?

?

你可能會說,好吧,我可以寫一些代碼來做到這一點。 例如,如果圖片中有很多淺棕色像素,那么我們可以說它是一只狗。

或者,你可以弄清楚如何檢測圖片中的邊緣。 然后,你可能會說,如果有很多直邊,那么它就是一張桌子。

但是,這種方法很快變得棘手。 如果照片中有一只沒有棕色頭發(fā)的白狗怎么辦? 如果圖片只顯示桌子的圓形部分怎么辦?

這就是機(jī)器學(xué)習(xí)的用武之地。

機(jī)器學(xué)習(xí)通常實現(xiàn)一種, 自動檢測給定輸入模式的算法。

你可以給機(jī)器學(xué)習(xí)算法,給1000張狗的照片和1000張桌子的照片。 然后,它將學(xué)習(xí)狗和桌子之間的區(qū)別。 當(dāng)你給它一張狗或桌子的新圖片時,它將能夠識別它是哪一個。

我認(rèn)為這有點類似于嬰兒學(xué)習(xí)新事物的方式。 寶寶怎么知道一件事看起來像狗,另一件看起來像一張桌子? 可能來自一堆例子。

你可能沒有明確地告訴嬰兒,“如果有毛茸茸的東西,有淺棕色的頭發(fā),那么它可能是一只狗。”

你可能會說,“那是一只狗。 這也是一只狗。 這是一張桌子。 那個也是一張桌子。“

機(jī)器學(xué)習(xí)算法的工作方式大致相同。

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

  • 推薦系統(tǒng)(如 YouTube ,亞馬遜和 Netflix
  • 人臉識別
  • 語音識別

等其他場景。

你可能聽說過的流行的機(jī)器學(xué)習(xí)算法包括:

  • 神經(jīng)網(wǎng)絡(luò)
  • 深度學(xué)習(xí)
  • 支持向量機(jī)
  • 隨機(jī)森林

你可以使用上述任何算法來解決我之前解釋過的圖片標(biāo)注問題。

用于機(jī)器學(xué)習(xí)的 Python

針對機(jī)器學(xué)習(xí)有流行的機(jī)器學(xué)習(xí)庫和Python框架。

其中兩個最受歡迎的是 scikit-learn TensorFlow

scikit-learn 附帶了一些內(nèi)置的更流行的機(jī)器學(xué)習(xí)算法。 我在上面提到了其中一些。 TensorFlow 更像是一個低級庫,允許你構(gòu)建自定義機(jī)器學(xué)習(xí)算法。

如果你剛剛開始使用機(jī)器學(xué)習(xí)項目,我建議你先從 scikit-learn 開始。

如果你開始遇到效率問題,那么我會開始研究 TensorFlow

2. 數(shù)據(jù)分析和數(shù)據(jù)可視化又是怎樣呢?

為了幫助你了解這些可能是什么樣子,讓我在這里給你一個簡單的例子。

假設(shè)你正在為一家在線銷售某些產(chǎn)品的公司工作。

然后,作為數(shù)據(jù)分析師,你可以繪制這樣的條形圖。

?

Python 的 3 個主要應(yīng)用方向_第3張圖片

?

用Python生成的條形圖

?

從這張圖中,我們可以看出,男性購買了超過400個單位的產(chǎn)品,女性在這個特定的星期天購買了約350個單位的產(chǎn)品。

作為數(shù)據(jù)分析師,你可能會對這種差異提出一些可能的解釋。

一個明顯可能的解釋是,這種產(chǎn)品比男性更受男性歡迎。 另一種可能的解釋可能是樣本量太小而且這種差異只是偶然造成的。 而另一種可能的解釋可能是,男性傾向于僅在周日因某種原因購買該產(chǎn)品。

要了解哪些解釋是正確的,你可能會繪制另一個這樣的圖表。

?

Python 的 3 個主要應(yīng)用方向_第4張圖片

?

?

我們不是僅顯示星期日的數(shù)據(jù),而是查看整整一周的數(shù)據(jù)。 如你所見,從這張圖中,我們可以看到這種差異在不同的日子里非常一致。

從這個小小的分析中,你可以得出結(jié)論,對這種差異最有說服力的解釋是,這種產(chǎn)品更容易受到男性的歡迎,而不是女性。

另一方面,如果你看到像這樣的圖表怎么辦?

?

Python 的 3 個主要應(yīng)用方向_第5張圖片

?

?

那么,是什么解釋了周日的差異?

你可能會說,也許男人往往只是因為某種原因在周日購買更多的這種產(chǎn)品。 或者,也許只是巧合,周日男人買了更多。

因此,這是數(shù)據(jù)分析在現(xiàn)實世界中可能看起來像的簡化示例。

我在谷歌和微軟工作時所做的數(shù)據(jù)分析工作與這個例子非常相似 - 只是更復(fù)雜。 我實際上在谷歌使用 Python 進(jìn)行這種分析,而我在微軟使用 JavaScript

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

Python 進(jìn)行數(shù)據(jù)分析和數(shù)據(jù)可視化

Matplotlib是最受歡迎的數(shù)據(jù)可視化庫之一。 這是一個非常適合開始學(xué)習(xí)的庫,原因如下:

  • 容易上手
  • 其他一些庫如 seaborn 就是基于它的。 因此,學(xué)習(xí) Matplotlib 將幫助你稍后學(xué)習(xí)這些其他庫。

腳本

什么是腳本?

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

那么,讓我舉一個我個人經(jīng)歷的例子。

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

當(dāng)我在那里工作時,我的任務(wù)是計算包含某些關(guān)鍵字的電子郵件的數(shù)量,以便我們分析收到的電子郵件。

我們可以手動完成它,但是,我編寫了一個簡單的程序/簡單腳本來自動執(zhí)行此任務(wù)。

實際上,我們當(dāng)時使用Ruby,但Python也是這類任務(wù)的好語言。 Python適合這種類型的任務(wù),主要是因為它具有相對簡單的語法并且易于編寫。 用它寫一些小東西并測試它也很快。

嵌入式應(yīng)用程序呢?

我不是嵌入式應(yīng)用程序方面的專家,但我知道Python可以與Rasberry Pi一起使用。 它似乎是硬件愛好者中的一種流行應(yīng)用。

游戲又如何呢?

你可以使用名為PyGame的庫來開發(fā)游戲,但它并不是最流行的游戲引擎。 你可以用它來建立一個愛好項目,但如果你認(rèn)真對待游戲開發(fā),我個人不會選擇它。

相反,我建議開始使用 Unity C# ,這是最受歡迎的游戲引擎之一。 它允許你為許多平臺構(gòu)建游戲,包括Mac,Windows,iOS和Android。

桌面應(yīng)用又怎樣?

你可以使用Tkinter制作一個Python,但它似乎也不是最受歡迎的選擇。

相反,似乎Java,C#和C ++等語言更受歡迎。

最近,一些公司也開始使用JavaScript來創(chuàng)建桌面應(yīng)用程序。

例如,Slack的桌面應(yīng)用程序是用 Electron 構(gòu)建的。 它允許你使用 JavaScript 構(gòu)建桌面應(yīng)用程序。

就個人而言,如果我正在構(gòu)建一個桌面應(yīng)用程序,我會使用 JavaScript 選項。 它允許你重用Web版本中的一些代碼(如果有的話)。

但是,我也不是桌面應(yīng)用程序方面的專家,所以如果你不同意或同意我的意見,請在評論中告訴我。

Python 3 or Python 2?

我會推薦Python 3,因為它更現(xiàn)代,而且在這一點上它是一個更受歡迎的選項。

腳注:關(guān)于后端代碼與前端代碼的說明(以防你不熟悉這些條款):

假設(shè)你想制作像 Instagram 這樣的東西。

然后,你需要為要支持的每種類型的設(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并不是編寫后端/服務(wù)器端代碼的唯一好選擇。還有許多其他流行的選擇,包括 Node.js ,它基于JavaScript。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論