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