當(dāng)前人工智能與大數(shù)據(jù)炒的火熱,其中不可或缺的就是Python。那么到底Python能干什么呢?
這個問題不太好回答
Python的功用很多。如果非要歸納,可歸為以下三大主要應(yīng)用:Web開發(fā)、數(shù)據(jù)科學(xué)和腳本。
一、Web開發(fā)
在基于Python做Web開發(fā)中,Django和Flask的Web框架最為流行。這些Web框架可以幫助我們用Python編寫服務(wù)器端代碼。因為用Web框架可以更容易地構(gòu)建通用的后端邏輯,這包括將不同的URL映射到Python代碼塊,處理數(shù)據(jù)庫以及生成用戶在瀏覽器中看到的HTML文件。
對于菜鳥來說,F(xiàn)lask能夠?qū)崿F(xiàn)簡單、靈活和細致的控制,并能讓自己決定實現(xiàn)的方式。而Django則提供了全面的體驗,可以獲得管理面板、數(shù)據(jù)庫接口、對象關(guān)系映射,以及開箱即用的應(yīng)用程序和項目的目錄結(jié)構(gòu)。所以新手選擇Flask更合適,因為它要掌握的組件更少。此外,由于Flask 的靈活性,在創(chuàng)建REST API時,F(xiàn)lask 比Django 更適合。
二、數(shù)據(jù)科學(xué)
很多地方把數(shù)據(jù)科學(xué)定義為包含了機器學(xué)習(xí)、數(shù)據(jù)分析和數(shù)據(jù)可視化。
那到底什么是機器學(xué)習(xí)?
舉個例子
白內(nèi)障患者假設(shè)分為輕度、中度和嚴重三種類型,我們給10000張患者的眼睛圖片進行標(biāo)注和歸類,并輸入給機器學(xué)習(xí)算法,讓它掌握輕度、中度和嚴重的區(qū)別。那么當(dāng)有新的患者就診時,只需要拍個片子,機器就能直接給出患者癥狀類型。這種機器學(xué)習(xí)就是通過大量的醫(yī)生標(biāo)注過的圖片學(xué)習(xí)的例子。類似的應(yīng)用有推薦系統(tǒng)、人臉識別、語音識別等,相關(guān)的機器學(xué)習(xí)算法包括神經(jīng)網(wǎng)絡(luò)、深度學(xué)習(xí)、支持向量機和隨機森林。最熱門的機器學(xué)習(xí)庫和Python框架有scikit-learn和TensorFlow。
數(shù)據(jù)分析和數(shù)據(jù)可視化的案例就毋庸多說了,常見的如啤酒與尿不濕、銀行貸款、超市預(yù)知高中生顧客懷孕等。數(shù)據(jù)可視化是數(shù)據(jù)分析結(jié)果的直觀表達,如詞云圖。進行數(shù)據(jù)可視化時,Matplotlib是一個非常熱門的庫,對于菜鳥容易上手。
三、腳本
腳本通常是指編寫能夠自動執(zhí)行簡單任務(wù)的小程序。在IT運維中用的較多。因為它語法簡單,易于編寫,而且進行測試也很快。
當(dāng)然,Python的功用不僅僅只有上面所述,比如游戲開發(fā)、桌面應(yīng)用等等,也都有不少的案例。
最后,如還有在選用Python 3還是Python 2上有糾結(jié)的讀者,我果斷推薦使用Python 3,因為它更新而且倍受歡迎,更是新的趨勢。