http://blog.csdn.net/indexchen/archive/2005/12/07/546204.aspx
最近準備學習一下動態語言,可選擇的有perl、Python、Ruby,通過查看相關評論和比較,決定選擇Python作為學習對象:-)。
Python是一種面向對象的解釋型、交互式語言。它既有腳本語言的簡易,又有C++,java等語言的強大功能。
下面看一下Python的優勢:
1 - 簡單。
Python的語法比Perl,Java,C,C++相比要簡單很多,實現同樣功能只需java、C++代碼量的1/3或1/5。簡單是Python的設計原則,它的各方面都始終圍繞該原則,也從中得到很多益處。
由于語言本身比較簡單,因此Python學習起來相對容易,上手很快;由于簡單,代碼更容易閱讀和維護,對提軟件質量有極大幫助。因為現在開發的系統都很復雜,如果工具再復雜,系統維護成本會極高。
由于代碼量較少,因此可以減少輸入,提高開發效率,一條語句可能就可實現C++要10條語句才能實現的功能。由于硬件性能的大副提高,開發效率的重要性正變得比運行效率更重要。
看幾個python實現的例子
(1)將一個目錄下文件全部復制到另一個目錄
import os,shutil
for f in os.listdir(sdir):
shutil.(sdir+"/"+f,ddir)
sdir和ddir為源目錄和目標目錄,執行時要用實際名稱
(2)輸出文本文件的每一行
f = open(textfile,'r')
for line in f:
print line
f.close()
(3)將文件rawfile 壓縮為zip文件
import zipfile
z = zipfile.ZipFile('my.zip','w',zipfile.ZIP_DEFLATED)
rf = open(rawfile,'rb')
z.writestr(rawfile,rf.read())
rf.close()
z.close()
如果上述例子用java或c++來實現,代碼量會多出很多。
2 - 開放。
Python可以和現有的主流語言和環境交互,如果覺得Python解釋型語言不能提供足夠的速度,可以在Python中調用C、C++編寫的模塊;在不需要速度的地方,可以用Python快速實現,然后在C、C++中調用Python的模塊。
Jython提供了Python和Java之間的交互,已有的java代碼不會丟棄,可繼續使用。
對于COM、.Net,Python也可與之進行交互,甚至可將Python作為腳本在瀏覽器中調用。
3 - 豐富的庫
Python的庫提供了計算環境中所涉及的幾乎所有功能,如果沒有,你也可以自己實現。從用戶圖形接口到網絡編程,從Web應用到數據庫接口,還有和操作系統接口,該接口符合POSIX標準。你還可以用Python來開發游戲、圖象處理、人工智能、數學庫等等。
4 - 可移植性
Python是解釋型語言,沒有編譯連接過程,它由Python解釋器執行,因此Python代碼可不作修改在不同操作系統上執行。目前Python支持幾乎所有流行的操作系統。列表可到www.python.org 詳查。
5 - 免費
Python是開源項目,能從網絡上免費獲得Python系統。你還可以將Python嵌入在你的產品中,包括商業產品。
6 - 豐富的資源
在www.python.org可以得到很多的資源,能幫助你解決在使用過程中遇到的各種問題,目前全球使用Python的人數在50到100萬之間,如此人氣還有什么問題不能解決。
7 - Google也將Python作為主要的編程語言,這也和Google的簡略風格很相符。
還有很多,在學習過程中再去體驗。
呵呵,還是老路子。。選擇Python,就是感覺好玩,沒別的意思。。