張楠
摘 ? 要:Python程序設(shè)計(jì)語言是一種面向?qū)ο蟮慕忉屝驼Z言,本文對(duì)Python語言的特點(diǎn)及其主要應(yīng)用領(lǐng)域進(jìn)行介紹,闡述了其語法之簡(jiǎn)短、應(yīng)用之廣泛,預(yù)示著Python語言未來更廣闊的應(yīng)用和發(fā)展前景。
關(guān)鍵詞:Python ?語言特點(diǎn) ?應(yīng)用領(lǐng)域
中圖分類號(hào):TP39 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A ? ? ? ? ? ? ? ? ? ? ? 文章編號(hào):1674-098X(2019)06(b)-0122-02
1 ?Python簡(jiǎn)介
Python是一門腳本編程語言,它是開源的且代碼清晰、易學(xué)易用,不僅適用于各種簡(jiǎn)單的腳本任務(wù),甚至適用于面向?qū)ο蟮拇笮偷莫?dú)立應(yīng)用。與眾多其他語言相比,使用Python編寫的代碼閱讀、調(diào)試和擴(kuò)展更加容易。應(yīng)用Python編程,面對(duì)現(xiàn)實(shí)生活中的很多任務(wù)我們都可以解決。
2 ?Python語言的特點(diǎn)
Python擁有自己獨(dú)特的優(yōu)點(diǎn)[1],它不僅像簡(jiǎn)單解釋型語言一樣簡(jiǎn)單易用,同時(shí)還像傳統(tǒng)編譯型語言一樣通用、強(qiáng)大。
(1)簡(jiǎn)單易學(xué)。
Python不僅結(jié)構(gòu)簡(jiǎn)單、語法清晰,且關(guān)鍵字少,這樣就使得閱讀一個(gè)良好的Python程序像閱讀英語一樣輕松,使得你可以專注在如何解決問題而不是去弄明白語言本身。同時(shí)Python的說明文檔非常簡(jiǎn)單,有助于學(xué)習(xí)和使用Python語言。
(2)面向?qū)ο蟆?/p>
面向?qū)ο蟮奶攸c(diǎn)是Python與生俱來的。然而,Python不單純是一門面向?qū)ο蟮恼Z言,它的編程方式既可以是面向?qū)ο蟮囊部梢允敲嫦蜻^程的。其中,采用“面向過程”的編程方式,程序是由可重用代碼的函數(shù)或過程組合而成。采用“面向?qū)ο蟆钡木幊谭绞?,程序是由?duì)象構(gòu)建起來的,而對(duì)象又是由數(shù)據(jù)和功能組合而成。Python還融合了像Lisp和Haskell的一些函數(shù)語言的特點(diǎn)。
(3)可擴(kuò)展性。
Python具有可擴(kuò)展性,可以用C語言或者C++來編寫部分程序從而使得某些關(guān)鍵代碼運(yùn)行速度更快或者使得某些重要算法不被公開,再把這部分程序放在Python中使用。Python語言的類庫不僅強(qiáng)大而且十分豐富,可以輕松地聯(lián)結(jié)使用其他語言(尤其是C語言或C++語言)制作的各類模塊,Python的功能得以擴(kuò)展。
(4)豐富的庫。
Python擁有龐大的標(biāo)準(zhǔn)庫,它可以用來處理正則表達(dá)式、線程、文檔生成、單元測(cè)試、網(wǎng)頁瀏覽器、FTP、數(shù)據(jù)庫、WAV 文件、XML、HTML、GUI、電子郵件和其他與系統(tǒng)相關(guān)的操作。除了標(biāo)準(zhǔn)庫外,還有如Python圖像庫、wxPython和Twisted等許多高質(zhì)量的庫。
(5)其他特點(diǎn)。
除以上4個(gè)主要優(yōu)點(diǎn)之外,Python語言的優(yōu)點(diǎn)還包括:免費(fèi)開源、代碼規(guī)范和可移植性強(qiáng)等。由于Python是解釋型語言,相比而言它的運(yùn)行速度顯得較慢,但隨著硬件性能的不斷提升,這個(gè)問題將不再是問題,這也是Python語言的缺點(diǎn)所在。
3 ?Python的主要應(yīng)用領(lǐng)域
Python雖然算作一門新興的語言,但是它的應(yīng)用前景廣泛不容小覷。Python應(yīng)用于諸多領(lǐng)域:解決商業(yè)問題、編寫游戲、創(chuàng)建Web應(yīng)用程序以及供各類公司開發(fā)內(nèi)部工具等。
(1)Web應(yīng)用開發(fā)。
Python語言跨平臺(tái)和開源的特性,使得其在Web應(yīng)用程序[2]開發(fā)中有很大優(yōu)勢(shì)。基于Python語言開發(fā)的Web框架非常多,其中以Flask和Django最為典型。Flask是一個(gè)使用Python編寫的輕量級(jí) Web 應(yīng)用框架,用戶可以主動(dòng)選擇實(shí)現(xiàn)方式以實(shí)現(xiàn)更多靈活、簡(jiǎn)單且細(xì)致的定制;Django[3]是一個(gè)使用Python編寫的基于MVC構(gòu)造的開放源代碼的Web應(yīng)用框架,它注重代碼的復(fù)用,能夠既簡(jiǎn)便又快速的設(shè)計(jì)數(shù)據(jù)庫驅(qū)動(dòng)的網(wǎng)站,Django的第三方插件不僅多而且功能強(qiáng)大,我們還可以開發(fā)自己的工具包也是非常的方便。
(2)網(wǎng)絡(luò)爬蟲。
網(wǎng)絡(luò)爬蟲即通過自動(dòng)化程序?qū)W(wǎng)絡(luò)資源進(jìn)行有針對(duì)性的數(shù)據(jù)采集和處理。爬蟲[4]主要包括通用爬蟲和聚焦爬蟲兩種。通用爬蟲就是指?jìng)鹘y(tǒng)的通用搜索引擎,提供按照關(guān)鍵字進(jìn)行的搜索,無法實(shí)現(xiàn)針對(duì)具體語義信息提出的查詢,類似于無差別的收集并存儲(chǔ)數(shù)據(jù);聚焦爬蟲是面向主題的爬蟲,是對(duì)某些特定類別的數(shù)據(jù)進(jìn)行爬取,利用網(wǎng)頁分析算法篩選出與主題不相關(guān)的信息,將相關(guān)信息保留同時(shí)放入U(xiǎn)RL池等待被抓取,接下來,采取一定的搜索策略在URL池中選擇URL等待下一步的抓取,重復(fù)上述過程,直到完成需求時(shí)停止。
(3)數(shù)據(jù)分析。
隨著SciPy,NumPy,Matplotlib等程序庫的開發(fā)和完善,Python在科學(xué)計(jì)算和數(shù)據(jù)分析領(lǐng)域應(yīng)用越來越廣泛。鑒于用C語言設(shè)計(jì)的底層算法模式較為固定,因此對(duì)其進(jìn)行封裝后用Python進(jìn)行調(diào)用,既方便又靈活,可以針對(duì)數(shù)據(jù)分析與統(tǒng)計(jì)的需求靈活的使用。Python不僅支持各種數(shù)學(xué)運(yùn)算,還可以繪制高質(zhì)量的2D和3D圖像,與科學(xué)計(jì)算領(lǐng)域最流行的軟件Matlab相比,Python處理的文件和數(shù)據(jù)類型更多,比Matlab的應(yīng)用范圍更廣泛。
(4)人工智能。
在人工智能領(lǐng)域,Python同樣占據(jù)一定的市場(chǎng)。人工智能需要的是即時(shí)性,Python的SimpleAI、pyDatalog、EasyAI和AIMA等AI庫提供了強(qiáng)大支持。Python還提供了許多機(jī)器學(xué)習(xí)庫,其中有PyBrain、PyML、scikit-learn和MDP-Toolkit 等。Python簡(jiǎn)單易學(xué)的語法,優(yōu)質(zhì)的文檔,可擴(kuò)展和可移植的特性,都使得Python語言當(dāng)之無愧的作為人工智能的首要選擇。像Facebook的PyTorch和Google的TensorFlow等當(dāng)下最流行的神經(jīng)網(wǎng)絡(luò)框架就是采用了Python語言。
(5)其他領(lǐng)域。
除了上面4個(gè)主要的應(yīng)用領(lǐng)域之外,Python還可以應(yīng)對(duì)眾多方向的技術(shù)編程[5],Python中都有相應(yīng)的庫來提供支持。應(yīng)用前景也非常廣泛的領(lǐng)域包括常規(guī)軟件開發(fā)、自動(dòng)化運(yùn)維、云計(jì)算等。其中,常規(guī)軟件開發(fā):由于Python支持函數(shù)式面向過程和OOP面向?qū)ο蟮木幊蹋梢猿袚?dān)眾多種類軟件的開發(fā)工作,因此編寫腳本、網(wǎng)絡(luò)編程和常規(guī)軟件的開發(fā)等都屬于基本能力。自動(dòng)化運(yùn)維:在自動(dòng)化運(yùn)維方面Python已經(jīng)深入人心,成為運(yùn)維工程師首選的編程語言,比如Ansible和Saltstack都是十分流行的自動(dòng)化平臺(tái)。云計(jì)算:Python的強(qiáng)大之處在于其靈活性和模塊化,云計(jì)算平臺(tái)的IasS服務(wù)的OpenStack就是基于Python構(gòu)建的,而云計(jì)算的其他服務(wù)也都是基于IasS服務(wù)之上的。
4 ?結(jié)語
Python 語言基于其自身獨(dú)特的優(yōu)點(diǎn),在眾多領(lǐng)域的應(yīng)用都非常廣泛,是一門當(dāng)之無愧的全棧語言。我們對(duì)Python程序設(shè)計(jì)語言首先要有一個(gè)全面、清楚的認(rèn)識(shí),了解它的具體特征和應(yīng)用,從而才能夠更好的運(yùn)用Python語言。在未來發(fā)展中,Python語言會(huì)繼續(xù)發(fā)揮它的優(yōu)勢(shì),來推進(jìn)信息時(shí)代的持續(xù)發(fā)展。
參考文獻(xiàn)
[1] 康計(jì)良.Python語言的可視化編程環(huán)境的設(shè)計(jì)與實(shí)現(xiàn)[D].西安電子科技大學(xué),2012.
[2] 蔡敏.Python語言的Web開發(fā)應(yīng)用分析[J].無線互聯(lián)科技,2019,16(4):27-28.
[3] 王常衡,李嘉偉,羅欽,等.淺析Python語言及其應(yīng)用前景[J].計(jì)算機(jī)產(chǎn)品與流通,2019(4):146.
[4] 張譽(yù)曜,陳媛媛.基于Python下的爬蟲綜述及應(yīng)用[J].中國(guó)新通信,2019(6):98.
[5] 王聰穎.基于Python的自動(dòng)化測(cè)試框架的分析與設(shè)計(jì)[D].北京郵電大學(xué),2017.