什么是Python?
Python是一種即譯式的,互動的,面向對象的編程語言,它包含了模組式的操作,異常處理,動態資料形態,十分高層次的動態資料結構,以及類別的使用。Python揉合了簡單的語法和強大的功能。它的語法表達優美易讀。它具有很多優秀的腳本語言的特點:解釋的,面向對象的,內建的高級數據結構,支持模塊和包,支持多種平臺,可擴展。而且它還支持交互式方式運行,圖形方式運行。它擁有眾多的編程界面支持各種操作系統平臺以及眾多的各類函數庫。利用C和C++可以對它進行擴充。個別的應用軟件如果需要有一個可程序化界面也可以利用它來做為擴展語言用。最后,Python的可移植度非常高:它可以在許多的Unix類平臺上運行,在Mac,MS-DOS,視窗Windows,Windows NT,OS/2,BeOS,以至RISCOS上都有相關的Python版本。
簡單的說它具有以下一些特征:
是一種解釋性的,面向對象的,具有動態語義的程序設計語言。
適合快速開發。
能集成到其他流行的服務器,也自帶服務器。
提供清晰的數據/邏輯/表示的分離。
帶有可擴展的內置對象和強大的集成安全模塊。
Python的歷史
Python的創始人為Guido van Rossum。1989年圣誕節期間,在阿姆斯特丹,Guido為了打發圣誕節的無趣,決心開發一個新的腳本解釋程序,做為ABC語言的一種繼承。之所以選中Python(大蟒蛇的意思)作為程序的名字,是因為他是一個Monty 大蟒蛇飛行馬戲團的愛好者。
ABC是由Guido參加設計的一種教學語言(沒聽說過)。就Guido本人看來,ABC這種語言非常優美和強大,是專門為非專業程序員設計的。但是ABC語言并沒有成功,究其原因,Guido認為是非開放造成的。Guido決心在Python中避免這一錯誤(的確如此,Python與其它的語言如C,C++和Java結合的非常好)。同時,他還想實現在ABC中閃現過但未曾實現的東西。
就這樣,Python在Guido手中誕生了(真要感謝他)。實際上,第一個實現是在Mac機上。可以說,Python是從ABC發展起來,主要受到了Modula-3(另一種相當優美且強大的語言,為小型團體所設計的)的影響。并且結合了Unix Shell和C的習慣。
Python可用在哪些地方?
Python可以用在許多場合。當你需要大量的動態調整,要容易使用,功能強大并且富有彈性的情況,Python可以發揮很好的功效。
在處理文字方面,Python的核心功能(不需要任何擴充庫的情況下)比別的編程語言更為易用而且速度相當。這使Python在需要處理字符串的工作(包括系統管理,CGI編程)上成為高效的語言。
當Python加上它的標準擴充庫(如PIL,COM,Numeric,Oracledb,kjbuckets,tkinter,win32api,等等)或是特別擴充庫(你自己寫的,或是用SWING做的,或是利用ILU/COBRA/com的)后,它可以變成一個很好的“膠合語言”或者叫“指導語言”。就是指把不同的編程環境和互不相關的軟件功能整合的工具。例如把Numeric和Oracledb透過Python結合起來你就可以替你的資料庫數據做系統分析。Python的簡單、易用以及方便而強大的c/c++擴展方面使它成為一種十分優秀的“膠合語言”。
許多開發人員也在寫圖形用戶界面時廣泛的采用了Python。如果在Windows下,如果想做一個圖形界面程序,那么Python可以勝任??梢匀xPython.org看一下,它是一個Python的擴展庫,可以用來實現跨平臺的圖形編程,它支持windows和unix/linux。在那個網站上有一些演示,可以學習一下。Python可以做CGI。有些主頁提供了對Python的CGI支持?,F在還有一些用Python做的游戲。如果想了解更多的Python可以做什么,可以去SourceForge上查找有關Python的項目,上面有很多東西。
運行方式
Python可以以命令行方式運行,也可以交互式方式運行,還具有圖形集成環境,這樣開發Python就相當方便?,F在已經出現了許多用Python編寫的可視化編程軟件,用于實現象Delphi一樣的功能。
面向對象
Python是一個真正的面向對象語言。它甚至支持異常的處理。如果學過Java,應該對這個不陌生。但其它的腳本語言,如PHP,好象就沒有。這使得程序的編寫更加清晰,而不需要許多的錯誤檢查了。
模塊和包
這一點更象是Java。對于Java的支持,大家可以了解JPython。JPython是用Java寫的Python,它完全支持Java,在這個環境下使用Python可以隨意地使用Java的類庫。語言擴展可以用C、C++或Java為Python編寫新的新言模塊,如函數?;蛘吲cPython直接編譯在一起,或者采用動態庫裝入方式實現。也專門有人編寫了一個工具,可以實現為Python自動實現函數接口封裝,這就是SWIG(Simplified Wrapper and Interface Generator),或稱做簡單封裝和接口生成器(可以在http://sourceforge.net/projects/swig/)。
有趣的語法
Guido認為Python的語法是非常優美的。其中一點就是,塊語句的表示不是C語言常用的{}對,或其它符號對,而是采用縮近表示法!有趣吧。就這一點來說,Guido的解釋是:首先,使用縮近表示法減少了視覺上的混亂,并且使程序變短,這樣就減少了需要對基本代碼單元注意的范圍;其次,它減少了程序員的自由度,更有利于統一風格,使得閱讀別人的程序更容易。感覺還是不錯的,就C語言來說,在if語句后面大括號的寫法就好幾種,不同的人喜歡不同的樣子,還不如統一起來,都不會看得別扭。
在每個類或函數的定義后面,第一行可以是說明語句,根本不需要注釋符標記。對于后面跟塊語句的語句,后面應跟上一個冒號。一行語句不能太長,因為沒有行結束符,如果超長則要使用續行符(\)。還有一些有趣的比如說,象下面的一個比較處理,用C語言為:
if (2<a&&a<5)
用Python可以表示為
if (2<a<5) :
什么是Zope?
Zope是一個開放源代碼的Web應用服務器,采用Python語言開發,使用它您可以方便的構建內容管理、內部網、門戶網站、和其他的定制應用。
高度面向對象的Web開發平臺,采用Python語言開發。
可以運行在幾乎所有流行的操作系統上,支持多語言。
能集成到其他流行的服務器,也自帶服務器。
提供清晰的數據/邏輯/表示的分離 。
帶有可擴展的內置對象和強大的集成安全模塊。
什么是Plone?
Pone是一個Zope上的一個用戶友好、功能強大的開放源代碼內容管理系統。Plone適合用作內部網/外部網的服務器、文檔發布系統、門戶服務器和異地協同群件工具,到目前,Plone其實已經發展成為了一個應用開發平臺。
是一種功能強大的開放源碼(Open Source)內容管理系統(CMS) 。
通過Web瀏覽器來訪問、編輯內容和管理,易于更新內容 。
無需編程,即可創建新的內容類型 。
協同的編輯和發布機制 。
Python的IDE開發環境:
Wingide:http:// www.wingide.com
ipython: http://ipython.scipy.org/
參考資料:
Python中文社區:http://python.cn
Zope/Plone中文社區:http://zope.cn
Zope官方網站:http://www.zope.org
中文Zope用戶組:http://www.czug.org/
Python類庫: http://www.pypackage.org/
Python中文論壇:http://www.linuxforum.net/
O'Reilly: http://www.oreillynet.com
wxPython.org: http://www.wxPython.org
Jpython.org: http://jython.org