蔡敏
摘 要:Python這個概念非常大,它的定位是“計算機(jī)程序設(shè)計語言”,從它的特征來看,是一種動態(tài)的、“面向?qū)ο蟆钡恼Z言,同時也是一門“解釋型”語言,因?yàn)橄鄬唵?,對于初學(xué)者Python是比較容易上手的。Python的語法更接近于自然語言,偽代碼本質(zhì)是它最大的優(yōu)點(diǎn)之一。通過解釋器執(zhí)行basic程序可以讓計算機(jī)讀懂指令。Python的用途較為廣泛,文章著重從其Web開發(fā)方面進(jìn)行分析探討。
關(guān)鍵詞:Python語言;Web開發(fā);應(yīng)用領(lǐng)域
1 Python簡介
對于當(dāng)前廣泛使用的Python來說,Python語言是解釋型語言,但帶有一些編譯型特征。Python是一種屬于計算機(jī)程序設(shè)計的語言,它最初的時候被設(shè)計用于編寫自動化腳本,隨著版本的不斷更新和語言新功能的添加,它越來越多被用于一些獨(dú)立的、比較大型的開發(fā)[1]。
Python具有十分重要的作用,其中源代碼以及解釋器C Python必須要遵循相關(guān)的GNU通用公共許可協(xié)議(GNU General Public License,GPL)協(xié)議,這是十分必要的,只有這樣才能夠促進(jìn)其更好的發(fā)展,能夠使其得到良好的運(yùn)行。另外,Python的語法比較簡潔清晰,讓人容易理解;除此之外,Python還具有自己獨(dú)特的特色就是它是強(qiáng)制要求用空白符來實(shí)現(xiàn)語句縮進(jìn)。
Python具有一個十分豐富的庫。另外它也可以叫作膠水語言,它能夠把這些各種模塊更好地組合在一起。人們可以使用Python比較快速地生成程序的原型,從而對其有特殊要求的部分進(jìn)行應(yīng)用,比如3D游戲?qū)D形性能要求相對比較高,我們可以渲染模塊,然后用C/C++來進(jìn)行相關(guān)的重寫,以此來實(shí)現(xiàn)更好的應(yīng)用。但是在運(yùn)用的時候也需要考慮到很多問題,比如平臺問題[2]。
2 Python的特點(diǎn)
(1)Python具有自己獨(dú)特的特點(diǎn),在它的開發(fā)中是依靠C語言來進(jìn)行的,但是Python去掉了C語言中比較復(fù)雜的指針部分,簡化了自身的語法。
(2)Python面對對象的特征比較強(qiáng),并且其對象的實(shí)現(xiàn)也更加容易。
(3)Python代碼塊的隔代碼是利用空格或者制表符縮進(jìn)的方式來實(shí)現(xiàn)的。
(4)Python的保留字很少,只有13個并且沒有分號、begin、end等各種各樣的標(biāo)記。
(5)它是一種強(qiáng)類型的語言。
3 Python的應(yīng)用領(lǐng)域
3.1 數(shù)據(jù)分析與處理
通常情況下,Python被用來做數(shù)據(jù)分析。軟件學(xué)習(xí)資源出版商Packt Publishing在2018年度報告中指出,Python是數(shù)據(jù)專業(yè)人士使用最廣泛的編程語言,很多人將其列為解決數(shù)據(jù)分析的頭號語言。其中著名的Pandas庫為Python提供了高性能處理的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)分析工具。雖然R語言也提供了大量的包應(yīng)用于數(shù)據(jù)分析領(lǐng)域,這些包大多專門用來完成特定的任務(wù),比如數(shù)據(jù)的可視化,連續(xù)變量回歸和模型驗(yàn)證,但Python語言更適合一些具有編程基礎(chǔ)的數(shù)據(jù)分析師,究其原因主要是Python代碼的優(yōu)秀可讀性,這是R語言非標(biāo)準(zhǔn)代碼無法實(shí)現(xiàn)的。Python語言在爬蟲、自動化運(yùn)維、游戲等方面應(yīng)用廣泛,這些優(yōu)點(diǎn)使得Python具有融合各個業(yè)務(wù)的優(yōu)點(diǎn),用一門技術(shù)解決所有業(yè)務(wù)服務(wù)問題,大大提高數(shù)據(jù)分析效率[3]。
3.2 人工智能應(yīng)用
Python在人工智能領(lǐng)域也有一定的發(fā)展前景。人工智能要求的是即時性,Python的AI庫提供了強(qiáng)大的支持,包括 SimpleAI,pyDatalog,EasyAI,和AIMA。它還提供了一些機(jī)器學(xué)習(xí)庫,比如PyBrain,PyML,scikit-learn,MDP-Toolkit等。Python優(yōu)質(zhì)的文檔,簡單易學(xué)的語法,許多圖像加強(qiáng)庫像Python Imaging Libary,VTK和Maya 3D可視化工具包,語言的可移植、可擴(kuò)展等特點(diǎn),都使得Python成為人工智能首選的編程語言。
3.3 Web開發(fā)與應(yīng)用
在Python的應(yīng)用中,它經(jīng)常被用于Web來進(jìn)行相關(guān)的開發(fā)。并且為了更好地協(xié)調(diào)Http服務(wù)器與基于Python的Web程序之間的通信,Python定義了WSGI來作為比較標(biāo)準(zhǔn)的應(yīng)用接口。其中就包括一些Web框架,比如Django,Turbo Gears以及web2py等。這具有很大的優(yōu)勢,它能夠幫助程序員更加輕松地對比較復(fù)雜的Web程序進(jìn)行開發(fā)和管理。所以我們一定要對此有一個清楚的認(rèn)識并對此引起足夠的重視。
基于Python語言開發(fā)的Web框架非常多,很多著名的網(wǎng)站如YouTube,Dropbox,豆瓣等均為Python開發(fā)。Google公司的網(wǎng)絡(luò)搜索系統(tǒng)也廣泛使用Python語言。典型Web框架有Django、Flask等,其中的Python+Django架構(gòu)應(yīng)用非常廣,可以快速搭建用戶需要的Web服務(wù)。Python還擁有很多免費(fèi)數(shù)據(jù)函數(shù)庫、免費(fèi)Web網(wǎng)頁模板系統(tǒng),可以實(shí)現(xiàn)Web開發(fā)[4]。
4 Python語言的Web開發(fā)主要框架
4.1 Django
Django具有很大的重要性,它是一個屬于開放源代碼的Web應(yīng)用框架,它主要由Python而寫成的。在它的應(yīng)用中主要是采用了MVC的框架模式,這種模式具有十分重要的作用。在最初Django主要是被用來開發(fā)一些網(wǎng)站并且這些網(wǎng)站都是以新聞內(nèi)容為主。
4.2 Flask
Flask是一個使用Python來進(jìn)行編寫的Web應(yīng)用框架,它具有自己獨(dú)特的作用,是一種輕量級的應(yīng)用框架。其WSGI工具箱主要是采用Werkzeug,而模板引擎是使用Jinja2來進(jìn)行,F(xiàn)lask是使用BSD授權(quán)的。
4.3 Tornado
Tornado是一種Web服務(wù)器軟件的開源版本。Tornado和現(xiàn)在的主流Web服務(wù)器框架(包括大多數(shù)Python的框架)有著十分明顯的區(qū)別,它是一種非阻塞式的服務(wù)器,并且速度也比較快。
4.4 CherryPy
CherryPy是一種用于Python的、簡單而非常有用的Web框架,其主要作用是以盡可能少的操作將Web服務(wù)器與Python代碼連接,其功能包括內(nèi)置的分析功能、靈活的插件系統(tǒng)以及一次運(yùn)行多個HTTP服務(wù)器的功能,可運(yùn)行在最新版本的Python,Jython,Android上。
5 Python語言在Web應(yīng)用中的優(yōu)點(diǎn)
5.1 Python是一種動態(tài)的語言
Python是一種比較高健壯的編程語言,這也是它流行的一個重要原因。而且Python是一種面向?qū)ο笮偷恼Z言,它包括許多豐富的類庫和數(shù)據(jù)類型,通過這些數(shù)據(jù)來進(jìn)行交互,從而使其能夠得到更好的應(yīng)用。
5.2 Python是一種萬能的計算機(jī)程序語言
Python是萬能的,這也是它流行的另一個原因。并且Python需要具有很強(qiáng)的實(shí)用性,它能夠在很多流行的操作系統(tǒng)中運(yùn)行。比如在Linux,Unix,Mac,Windows或者是Amiga中等來進(jìn)行應(yīng)用。除此之外,Python還能夠在流行的手機(jī)平臺以及微軟平臺中來進(jìn)行運(yùn)行,在當(dāng)今社會中Python是隨處可見的。
5.3 有關(guān)Python的創(chuàng)建歷史
Python具有十分豐富的背景。它在80年代得到創(chuàng)建,而它第一個版本的出現(xiàn)則是在1989年早期的時候。其次,它的設(shè)計是簡單并且容易讀取的。當(dāng)時互聯(lián)網(wǎng)還處于一個嬰兒時期,而Python在當(dāng)時還是一種全新的語言,到了2000年,Python 2.0就開始出現(xiàn)在人們的視野當(dāng)中了,并且它具備了許多新的功能,比如支持Unicode和垃圾回收器等,并且每種功能都具有十分重要的意義[5]。
6 結(jié)語
Python具有很多的優(yōu)點(diǎn),比如它容易開發(fā)并且部署很快,變更起來比較容易,代碼量小所以拋棄起來也很容易以及不容易背上歷史負(fù)擔(dān)等。所以我們一定要對Python程序語言有一個清楚的認(rèn)識,了解它的應(yīng)用和具體特征以及各方面的優(yōu)勢,從而使其能夠得到更好的應(yīng)用,不斷促進(jìn)我國計算機(jī)行業(yè)的更好發(fā)展。
選擇哪種編程語言做Web開發(fā)必須要考慮眾多語言中哪個更適合后端業(yè)務(wù)流程。如果是個相對計算密集型的、需要多線程的,那么就應(yīng)該慎用Python,或者提前將計算密集的部分拆出去單獨(dú)組成服務(wù)。如果是業(yè)務(wù)本身就比較繁雜、變更比較頻繁的,Python和PHP這樣的語言也更加適合。
[參考文獻(xiàn)]
[1]朱贇.Python語言的Web開發(fā)應(yīng)用[J].電腦知識與技術(shù),2017(32):95-96.
[2]王冉陽.基于Django和Python的Web開發(fā)[J].電腦編程技巧與維護(hù),2009(2):56-58.
[3]郭力子.基于開源的Web開發(fā)架構(gòu)—ZOPE/Python[J].計算機(jī)時代,2008(7):9-11.
[4]陳琳,李容.基于動態(tài)Web的Python多線程空氣質(zhì)量數(shù)據(jù)程序設(shè)計[J].成都信息工程學(xué)院學(xué)報,2016(2):180-184.
[5]劉鵬.PHPWeb應(yīng)用程序安全性研究及安全漏洞檢測工具開發(fā)[D].西安:西安電子科技大學(xué),2011.