強(qiáng)大的Python語(yǔ)言介紹
別以為Python是一種很學(xué)院派的語(yǔ)言,盡管很多人認(rèn)為它十分適合作為學(xué)習(xí)編程的入門語(yǔ)言,為此我也苦惱很久,后來(lái)終于讓我找到了解決辦法,希望大家能夠?qū)W習(xí)到相關(guān)內(nèi)容。
就Guido本人看來(lái),ABC 這種語(yǔ)言非常優(yōu)美和強(qiáng)大,是專門為非專業(yè)程序員設(shè)計(jì)的。但是ABC語(yǔ)言并沒(méi)有成功,究其原因,Guido 認(rèn)為是非開放造成的。Guido 決心在 Python 中避免這一錯(cuò)誤(的確如此,Python 與其它的語(yǔ)言如C、C++和Java結(jié)合的非常好)。同時(shí),他還想實(shí)現(xiàn)在 ABC 中閃現(xiàn)過(guò)但未曾實(shí)現(xiàn)的東西。
就這樣,Python在Guido手中誕生了。實(shí)際上,第一個(gè)實(shí)現(xiàn)是在Mac機(jī)上??梢哉f(shuō),Python是從ABC發(fā)展起來(lái),主要受到了Modula-3(另一種相當(dāng)優(yōu)美且強(qiáng)大的語(yǔ)言,為小型團(tuán)體所設(shè)計(jì)的)的影響。并且結(jié)合了Unix shell和C的習(xí)慣。雖然 Python 可能被粗略地分類為"腳本語(yǔ)言(scripting language)", 實(shí)際上一些大規(guī)模軟件開發(fā)計(jì)劃例如 Zope, Mnet 及 BitTorrent. Google也廣泛地使用它。
Python 的支持者較喜歡稱它為一種高階動(dòng)態(tài)編程語(yǔ)言 , 原因是"腳本語(yǔ)言" 泛指單用作簡(jiǎn)單編程任務(wù)如 shell scripts ,而Python不能與JavaScript等只能處理簡(jiǎn)單任務(wù)的編程語(yǔ)言相提并論。
可擴(kuò)充性可說(shuō)是Python作為一種編程語(yǔ)言的特色。新的內(nèi)置模塊(module)可以用C 或 C++寫成。而我們也可為現(xiàn)成的模塊加上Python的接口。Python可以使用戶避免過(guò)分的語(yǔ)法的羈絆而將精力主要集中到所要實(shí)現(xiàn)的程序任務(wù)上。
Python也被稱為是一門清晰的語(yǔ)言。因?yàn)樗淖髡咴谠O(shè)計(jì)它的時(shí)候,總的指導(dǎo)思想是,對(duì)于一個(gè)特定的問(wèn)題,只要有一種最好的方法來(lái)解決就好了。這在由Tim Peters寫的python格言(稱為The Zen of Python)里面表述為:
- if age<21:
- print "You cannot buy wine!\n"
- print "But you can buy chewing gum.\n"
- print "this is outside if\n"
一個(gè)和其他大多數(shù)語(yǔ)言(如C)的區(qū)別就是,一個(gè)模塊的界限,完全是由每行的首字符在這一行的位置來(lái)決定的(而C語(yǔ)言是用一對(duì)花括號(hào){}來(lái)明確的定出模塊的邊界的,與字符的位置毫無(wú)關(guān)系)。
這一點(diǎn)曾經(jīng)引起過(guò)爭(zhēng)議。因?yàn)樽詮腃這類的語(yǔ)言誕生后,語(yǔ)言的語(yǔ)法含義與字符的排列方式分離開來(lái),曾經(jīng)被認(rèn)為是一種程序語(yǔ)言的進(jìn)步。不過(guò)不可否認(rèn)的是,通過(guò)強(qiáng)制程序員們縮進(jìn)(包括if,for和函數(shù)定義等所有需要使用模塊的地方),Python確實(shí)使得程序更加清晰和美觀。
Python清晰可讀的語(yǔ)法使得軟件代碼具有異乎尋常的易讀性,甚至對(duì)那些不是最初接觸和開發(fā)原始項(xiàng)目的程序員都 能具有這樣的強(qiáng)烈感覺(jué)。雖然某些程序員反對(duì)在Python代碼中大量使用空格,不過(guò),幾乎人人都承認(rèn)Python代碼的可讀性遠(yuǎn)勝于C或者Java,后兩 者都采用了專門的字符標(biāo)記代碼塊結(jié)構(gòu)、循環(huán)、函數(shù)以及其他編程結(jié)構(gòu)的開始和結(jié)束。提倡Python的人還宣稱,采用這些字符可能會(huì)產(chǎn)生顯著的編程風(fēng)格差 異,使得那些負(fù)責(zé)維護(hù)代碼的人遭遇代碼可讀性方面的困難。
Python明晰的語(yǔ)法使其成為一種學(xué)習(xí)曲線平和的編程語(yǔ)言。有經(jīng)驗(yàn)的程序員甚至可能在一天之內(nèi)就掌握Python的基礎(chǔ)知識(shí),至多不過(guò)一周作用就可以上手,而編程語(yǔ)言的專家則肯定會(huì)比他掌握C、C++、Java甚至Perl要快很多。
【編輯推薦】