1、Web應(yīng)用開(kāi)發(fā)
Python常被用于Web開(kāi)發(fā),隨著Python的Web開(kāi)發(fā)框架逐漸成熟,如Django、flask等等,開(kāi)發(fā)者們可以更輕松地開(kāi)發(fā)和管理復(fù)雜的Web程序。通過(guò)mod_wsgi模塊,Apache可以運(yùn)行Python編寫的Web程序,舉個(gè)最直觀的例子,全球最大的搜索引擎Google,在其網(wǎng)絡(luò)搜索系統(tǒng)中就廣泛使用Python語(yǔ)言。另外,我們經(jīng)常訪問(wèn)的集電影、讀書(shū)、音樂(lè)于一體的豆瓣網(wǎng)(如圖1所示),也是使用Python實(shí)現(xiàn)的。不僅如此,全球最大的視頻網(wǎng)站Youtube以及Dropbox(一款網(wǎng)絡(luò)文件同步工具)也都是用Python開(kāi)發(fā)的。
2、自動(dòng)化運(yùn)維
Python是標(biāo)準(zhǔn)的系統(tǒng)組件,可以在終端下直接運(yùn)行Python。有一些Linux發(fā)行版的安裝器使用Python語(yǔ)言編寫,例如Ubuntu的Ubiquity安裝器、RedHatLinux和Fedora的Anaconda安裝器等等。另外,Python標(biāo)準(zhǔn)庫(kù)中包含了多個(gè)可用來(lái)調(diào)用操作系統(tǒng)功能的庫(kù)。例如,通過(guò)這個(gè)軟件包,我們能訪問(wèn)Windows的COM服務(wù)以及其他Windows API;使用IronPython,我們能夠直接調(diào)用.NetFramework。
3、人工智能
人工智能是現(xiàn)如今非?;鸬囊粋€(gè)方向,Python在人工智能領(lǐng)域內(nèi)的機(jī)器學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)、深度學(xué)習(xí)等方面,都是主流的編程語(yǔ)言??梢赃@么說(shuō),基于大數(shù)據(jù)分析和深度學(xué)習(xí)發(fā)展而來(lái)的人工智能,其本質(zhì)上已經(jīng)無(wú)法離開(kāi)Python的支持了。
4、網(wǎng)絡(luò)爬蟲(chóng)
Python語(yǔ)言很早就用來(lái)編寫網(wǎng)絡(luò)爬蟲(chóng)。Google等搜索引擎公司大量地使用Python語(yǔ)言編寫網(wǎng)絡(luò)爬蟲(chóng)。從技術(shù)層面上將,Python提供有很多服務(wù)于編寫網(wǎng)絡(luò)爬蟲(chóng)的工具,例如urllib、Selenium和BeautifulSoup等,還提供了一個(gè)網(wǎng)絡(luò)爬蟲(chóng)框架Scrapy。
5、游戲開(kāi)發(fā)
很多游戲都是使用C++編寫圖形顯示等高性能的模塊,使用Python或Lua編寫游戲的邏輯,相比Python,Lua的功能更簡(jiǎn)單,體積也更小,但Python支持更多的特性和數(shù)據(jù)類型。除此之外,Python可以直接調(diào)用OpenGL實(shí)現(xiàn)3D繪制,這是高性能游戲引擎的技術(shù)基礎(chǔ)。事實(shí)上,有很多Python語(yǔ)言實(shí)現(xiàn)的游戲引擎,例如Pygame、Pyglet等。
6、數(shù)據(jù)庫(kù)處理
Python在數(shù)據(jù)庫(kù)方面很優(yōu)異,能夠和多種數(shù)據(jù)庫(kù)進(jìn)行銜接,進(jìn)行數(shù)據(jù)處理,從商業(yè)型的數(shù)據(jù)庫(kù)到開(kāi)放源碼的數(shù)據(jù)庫(kù)都供給支持。例如:Oracle,MySQLServer等等。有多種接口能夠與數(shù)據(jù)庫(kù)進(jìn)行銜接,至少包含ODBC。有許多公司采用著Python+MySQL的架構(gòu)。因此,把握了Python使你能夠充分利用面向?qū)ο蟮奶攸c(diǎn),在數(shù)據(jù)庫(kù)處理方面如虎添翼。
7、自動(dòng)化腳本
在很多操作系統(tǒng)里,Python是標(biāo)準(zhǔn)的系統(tǒng)組件。大多數(shù)Linux發(fā)行版以及NetBSD、OpenBSD和Mac OS X都集成了Python,可以在終端下直接運(yùn)行Python。有一些Linux發(fā)行版的安裝器使用Python語(yǔ)言編寫,如Ubuntu的Ubiquity安裝器、Red Hat Linux和Fedora的Anaconda安裝器。Gentoo Linux使用Python來(lái)編寫它的Portage(包管理系統(tǒng))。Python標(biāo)準(zhǔn)庫(kù)包含了多個(gè)調(diào)用操作系統(tǒng)功能的庫(kù)。通過(guò)pywin32這個(gè)第三方軟件包,Python能夠訪問(wèn)Windows的COM服務(wù)及其他WindowsAPI。使用IronPython,Python能夠直接調(diào)用.Net Framework。一般說(shuō)來(lái),Python編寫的系統(tǒng)管理腳本在可讀性、性能、代碼重用度、擴(kuò)展性幾方面都優(yōu)于普通的shell腳本。
延伸閱讀1:python的一些知名應(yīng)用
Pylons-Web應(yīng)用框架Zope-應(yīng)用服務(wù)器Plone-內(nèi)容管理系統(tǒng)Django-鼓勵(lì)快速開(kāi)發(fā)的Web應(yīng)用框架Uliweb-國(guó)人開(kāi)發(fā)的輕量級(jí)Web框架TurboGears-另一個(gè)Web應(yīng)用快速開(kāi)發(fā)框架Twisted-Python的網(wǎng)絡(luò)應(yīng)用程序框架flask-Python 微Web框架tornado-非阻塞式服務(wù)器Webpy-Python 微Web框架