解讀Python標準語言應用領域
在Python標準語言中,有關缺省變量值的限制非常模糊。基于此,很多編譯器允許開發人員將缺省變量值包含在函數聲明,指向函數的指針和引用,成員函數的指針,以及typedef聲明中。
Google開發者日在北京舉行。作為Python發明人的Guido Van Rossum,就Python語言做了主題演講。演講現場,來自CSDN的報道稱“引來現場觀眾最熱烈持久的掌聲”。
1. Guido簡介 Python創始人,原居荷蘭,1995年移居美國,2005年加入Google。
2. 為什么叫Python? 說來很有趣,選用Python這個名字,僅僅是因為Guido很喜歡一部叫做《Monty Python飛行馬戲團》的肥皂劇。
3. Python是什么? 是一門可以被應用到很多領域、功能強大、面向對象、跨平臺的動態編程語言。1990年至今,Python經過17年的發展,已經成為最流行的編程語言之一。
在Google,Python標準語言更是被廣泛應用,想在Google工作,Python標準語言似乎成了一個基本要求。 在7月份的編程語言受歡迎程度排名中(http://www.tiobe.com/tpci.htm),Python名列第八。 Python何以有這么大的魅力,受到如此的追捧?筆者結合自己的使用經驗,認為Python的強大。
主要體現在以下幾個方面:
一、 簡單易學 Python世界非常強調“簡單”二字,一個代碼風格良好的Python程序,閱讀起來,感覺就像是在閱讀一段英文。Python的這種偽代碼本質,使得你可以更關注如何解決實際問題,而不是關注語言本身。
Python的語法也相當簡單,并且內置了很多高級數據結構, Python的簡單易學,很適合作為入門語言。目前,包括麻省理工學院在內的國外很多高校,都已選用Python作為教學語言。
二、 代碼量小 實現同樣的功能,Python與Java、C#這樣的“大個頭”比起來,明顯簡約很多。 例如,打印出一個文本文件中的所有內容,用Python只需要一句:
- using System; using System.IO; using System.Text; class OpenFile ...
- { public static void Main() ...{ try ...{ using (StreamReader sr = new StreamReader
- ("love.txt",Encoding.Default)) ...
- { String line; while ((line = sr.ReadLine()) != null) ...{ Console.WriteLine(line); } } }
- catch (Exception e) ...
- { Console.WriteLine("The file could not be read: "); Console.WriteLine(e.Message);
- } finally ...{ Console.ReadKey(); } } }
不考慮代碼行數,單就代碼可讀性而言,Python也勝出很多。
三、 豐富的API庫
如果你僅僅認為用Python只能寫寫“Hello World”,那你就大錯特錯了。 Python可以被應用到網絡開發、GUI開發、圖形開發、Web開發、游戲開發、手機開發、數據庫開發等眾多領域。
網絡開發方面,Python標準語言提供了大量可用的網絡編程模塊,涉及到Socket、EMail、FTP等等;眾所周知的豆瓣網http://www.douban.com/),就是使用了專門用于Python的網絡開發框架——Twisted;此外,Python還支持Jabber等等。
GUI開發方面,既有Python標準GUI庫——TKinter,又有很多強大的第三方GUI庫,例如wxPython。 Web開發方面,Python更顯強大。應用服務器,有zope;CMS系統,有plone(基于zope)。
就是做基于plone應用的;此外,還有django——一個可以和RoR相媲美的快速web開發框架、Pylons等等。 游戲開發方面,Python也有舉足輕重的地位。很多網絡游戲腳本,例如賬號注冊系統、物品交換系統、場地轉換系統和攻擊防御系統,都是用Python寫的,與C++相比,Python更加輕便。
四、 安裝容易
上面提到了很多Python的第三方開發包,如果你是一個Java程序員,或許會對第三方開發包頗感頭感,一是下載安裝問題,二是開發包版本問題。但是在Python里,你不需要再擔心這樣的問題。
以筆者做Pylons應用的經驗,例如,要安裝Pylons,你只需要:
1. 下載ez_setup.py(http://peak.telecommunity.com/dist/ez_setup.py)
2. 運行 python ez_setup.py Pylons 就這么簡單!又比如,如果你希望使用SQLObject做數據持久化工作,如何安裝SQLObject呢?更簡單,只需要運行:easy_install SQLObject。
Python會根據這個命令,通過網絡下載最合適的開發包并自動安裝。
五、 多平臺結合
Python也被稱為“膠水語言”,可以方便地調用其他語言庫。例如前面提到的GUI庫wxPython,它的前身就是用C++實現的wxWidgets。可以這么說,其他語言有的,Python都可以有,并且可以很方便地有! 目前,Java和.NET平臺也都實現了各自的Python版本,前者有Jython,后者有IronPython。兩大主流平臺都選擇了Python,從這個側面,可以看出Python的前景廣闊。
除此之外,與其他腳本語言相比,Python又有什么樣的優勢呢?
1. 與Bash相比,語法簡單、學習曲線相對平坦、API庫更加豐富;
2. 與Perl相比,語法簡單、代碼可讀性好、學習曲線相對平坦;
3. 與Ruby相比,語法簡單、代碼可讀性好、文檔多、性能佳(可參見
當然,Python也不是萬能的。 Python主要有以下不足:
1. 與編譯型語言相比,作為解釋型語言,Python的性能比較低。
2. 很多應用還得依賴于其他語言模塊,更適合做快速原型。
3. 多線程支持不夠好。 一些常用的Python IDE
【編輯推薦】