走近Python榆鼠,你心中神秘的她,為什么這么受人們喜愛亥鸠?
Python 已經(jīng)成為最受歡迎的程序設(shè)計語言之一妆够。自從2004年以后,python的使用率呈線性增長负蚊。Python 2于2000年10月16日發(fā)布神妹,穩(wěn)定版本是Python 2.7。Python 3于2008年12月3日發(fā)布家妆,不完全兼容Python 2鸵荠。 2011年1月,它被TIOBE編程語言排行榜評為2010年度語言伤极。那么為什么Python這么受歡迎呢蛹找,我們慢慢走近她吧!
一:Python是什么哨坪?
Python是一種面向?qū)ο蟮慕忉屝陀嬎銠C程序設(shè)計語言庸疾,具有豐富和強大的庫,所以常被稱為膠水語言当编,能夠把用其他語言制作的各種模塊(尤其是C/C++)很輕松地聯(lián)結(jié)在一起届慈。Python還是一種面向?qū)ο蟮膭討B(tài)類型語言,最初被設(shè)計用于編寫自動化腳本(shell),隨著版本的不斷更新和語言新功能的添加金顿,越來越多被用于獨立的臊泌、大型項目的開發(fā)。
二:Python具有什么樣的特點呢?
1>簡單易學(xué):Python是一種代表簡單主義思想的語言揍拆。閱讀一個良好的Python程序就感覺像是在讀英語一樣渠概。它使你能夠?qū)W⒂诮鉀Q問題而不是去搞明白語言本身。而且極其容易上手礁凡,因為Python有極其簡單的說明文檔 高氮。
2>速度快:Python 的底層是用 C 語言寫的,很多標(biāo)準(zhǔn)庫和第三方庫也都是用 C 寫的顷牌,運行速度非常快塞淹。
3>免費窟蓝、開源:Python是FLOSS(自由/開放源碼軟件)之一。使用者可以自由地發(fā)布這個軟件的拷貝饱普、閱讀它的源代碼运挫、對它做改動、把它的一部分用于新的自由軟件中套耕。FLOSS是基于一個團(tuán)體分享知識的概念谁帕。
4>高層語言:用Python語言編寫程序的時候無需考慮諸如如何管理你的程序使用的內(nèi)存一類的底層細(xì)節(jié)。
5>可移植性:由于它的開源本質(zhì)冯袍,Python已經(jīng)被移植在許多平臺上(經(jīng)過改動使它能夠工作在不同平臺上)匈挖。這些平臺包括Linux、Windows康愤、FreeBSD儡循、Macintosh、Solaris征冷、OS/2择膝、Amiga、AROS检激、AS/400肴捉、BeOS、OS/390叔收、z/OS齿穗、Palm OS、QNX今穿、VMS缤灵、Psion、Acom RISC OS、VxWorks腮出、PlayStation帖鸦、Sharp Zaurus、Windows CE胚嘲、PocketPC作儿、Symbian以及Google基于linux開發(fā)的android平臺。
6>解釋性:一個用編譯性語言比如C或C++寫的程序可以從源文件(即C或C++語言)轉(zhuǎn)換到一個你的計算機使用的語言(二進(jìn)制代碼馋劈,即0和1)攻锰。這個過程通過編譯器和不同的標(biāo)記、選項完成妓雾。
運行程序的時候娶吞,連接/轉(zhuǎn)載器軟件把你的程序從硬盤復(fù)制到內(nèi)存中并且運行。而Python語言寫的程序不需要編譯成二進(jìn)制代碼械姻。你可以直接從源代碼運行 程序妒蛇。
在計算機內(nèi)部,Python解釋器把源代碼轉(zhuǎn)換成稱為字節(jié)碼的中間形式楷拳,然后再把它翻譯成計算機使用的機器語言并運行绣夺。這使得使用Python更加簡單。也使得Python程序更加易于移植欢揖。
7>面向?qū)ο?Python既支持面向過程的編程也支持面向?qū)ο蟮木幊烫账!T?面向過程"的語言中,程序是由過程或僅僅是可重用代碼的函數(shù)構(gòu)建起來的她混。在"面向?qū)ο?的語言中烈钞,程序是由數(shù)據(jù)和功能組合而成的對象構(gòu)建起來的。
8>可擴展性:如果需要一段關(guān)鍵代碼運行得更快或者希望某些算法不公開产上,可以部分程序用C或C++編寫棵磷,然后在Python程序中使用它們。
9>可嵌入性:可以把Python嵌入C/C++程序晋涣,從而向程序用戶提供腳本功能仪媒。
10>豐富的庫:Python標(biāo)準(zhǔn)庫確實很龐大。它可以幫助處理各種工作谢鹊,包括正則表達(dá)式算吩、文檔生成、單元測試佃扼、線程偎巢、數(shù)據(jù)庫、網(wǎng)頁瀏覽器兼耀、CGI压昼、FTP求冷、電子郵件、XML窍霞、XML-RPC匠题、HTML、WAV文件但金、密碼系統(tǒng)韭山、GUI(圖形用戶界面)、Tk和其他與系統(tǒng)有關(guān)的操作冷溃。這被稱作Python的"功能齊全"理念钱磅。除了標(biāo)準(zhǔn)庫以外,還有許多其他高質(zhì)量的庫似枕,如wxPython盖淡、Twisted和Python圖像庫等等。
11>規(guī)范的代碼:Python采用強制縮進(jìn)的方式使得代碼具有較好可讀性菠净。而Python語言寫的程序不需要編譯成二進(jìn)制代碼禁舷。
三:Python都應(yīng)用在那些方面?
Python的應(yīng)用模塊還是比較多的毅往,而且現(xiàn)在被很多公司廣泛應(yīng)用。
1>系統(tǒng)編程:提供API(Application Programming Interface應(yīng)用程序編程接口)派近,能方便進(jìn)行系統(tǒng)維護(hù)和管理攀唯,Linux下標(biāo)志性語言之一,是很多系統(tǒng)管理員理想的編程工具渴丸。
2>圖形處理:有PIL侯嘀、Tkinter等圖形庫支持,能方便進(jìn)行圖形處理谱轨。
3>數(shù)學(xué)處理:NumPy擴展提供大量與許多標(biāo)準(zhǔn)數(shù)學(xué)庫的接口戒幔。
4>文本處理:python提供的re模塊能支持正則表達(dá)式,還提供SGML土童,XML分析模塊诗茎,許多程序員利用python進(jìn)行XML程序的開發(fā)。
5>數(shù)據(jù)庫編程:程序員可通過遵循Python DB-API(數(shù)據(jù)庫應(yīng)用程序編程接口)規(guī)范的模塊與Microsoft SQL Server献汗,Oracle敢订,Sybase,DB2罢吃,MySQL楚午、SQLite等數(shù)據(jù)庫通信。python自帶有一個Gadfly模塊尿招,提供了一個完整的SQL環(huán)境矾柜。
6>網(wǎng)絡(luò)編程:提供豐富的模塊支持sockets編程阱驾,能方便快速地開發(fā)分布式應(yīng)用程序。很多大規(guī)模軟件開發(fā)計劃例如Zope怪蔑,Mnet 及BitTorrent. Google都在廣泛地使用它里覆。
7>Web編程:應(yīng)用的開發(fā)語言,支持最新的XML技術(shù)饮睬。
8>多媒體應(yīng)用:Python的PyOpenGL模塊封裝了"OpenGL應(yīng)用程序編程接口"租谈,能進(jìn)行二維和三維圖像處理。PyGame模塊可用于編寫游戲軟件捆愁。
pymo引擎:PYMO全稱為python memories off割去,是一款運行于Symbian S60V3,Symbian3,S60V5, Symbian3, Android系統(tǒng)上的AVG游戲引擎。因其基于python2.0平臺開發(fā)昼丑,并且適用于創(chuàng)建秋之回憶(memories off)風(fēng)格的AVG游戲呻逆,故命名為PYMO。
9>黑客編程:python有一個hack的庫,內(nèi)置了你熟悉的或不熟悉的函數(shù)菩帝,但是缺少成就感咖城。
10>用Python寫簡單爬蟲。
四:什么樣的人群適合學(xué)習(xí)Python呼奢?
Python相比較Java來說簡單易學(xué)的很多宜雀,很多零基礎(chǔ)小白學(xué)習(xí)編程首選就是Python。Python門檻相對很低握础,適合所有人學(xué)習(xí)辐董,不管你是零基礎(chǔ)、大學(xué)生禀综、或者想轉(zhuǎn)行的都可以來學(xué)Python简烘。但是學(xué)習(xí)年齡最好在18-28歲之間,30歲之后的人不管是學(xué)習(xí)能力還是精力都跟不上定枷,當(dāng)然如果酷愛Python孤澎,有恒心一樣可以學(xué)習(xí)。
?讓我們一起全民學(xué)Python吧欠窒!