轉載自:http://www.linuxforum.net/
面對珍珠(Perl)奪目之光、靈蛇(Python)更具有上天入地之能。它可以在 MS-DOS,
Amiga,BeOS, OS/2,VMS,QNX等多種OS上營運;比 Perl 和 VB更快更好,比 C 和
C++ 語言更具擴充性;不僅在“星球大戰”、 “星球之旅 (Star
Trek)”等超級大片中當綱特技和動畫製作,還闖入了美國太空飛行航空局控制室。真相如何
,請看報道。
對 Perl (珍珠) 語言,互聯網開發人員可以說是無人不知、無人不曉;它營運迅捷、
操作簡單,而且可以讓用戶在使用時感到其樂無窮。但它也有不竟如人意的時候︰它的開
放性同時帶來了它的複雜性,用它處理大項目時尤其會使人無從下手。
儘管如此,大部分互聯網項目仍得靠著 Perl 這員“功臣”來搭建。
但也並非別無選擇。最新推薦的軟體叫 Python (靈蛇),它的歷史僅有 Perl 的1/4,
有著許多相似的特徵。
Python 的名字源于著名的滑稽團 Monty Python,它擁有許多廣為人知的演員,並塑造了
許多婦孺皆知的銀屏形象。
那么,互聯網世界中的 Python 又是怎樣的一個形象呢?
更快更好的 Python
與 Perl 一樣, Python 也是一種解釋語言,它完全採用面向對象的模式,語言架構介于
C 語言和 Perl
語言之間。雖然它被視作一種高極語言,但它的內置解釋器的功能卻非常基本,僅有幾種
功能、操作符和關鍵詞便構成了整個程式語言。它的優勢可不僅如此,它還能透過一系列
的模塊進行擴充。它既比 Perl 和 VB 語句更快更好,又比 C 和 C++ 語言更有擴充性。
同樣,Python 對程式語句的處理首先透過一個解釋和編譯系統轉換成為一系列的位元組代
碼,然後再由 Python 的虛擬機進行處理。Python 設計得非常有效,主要歸功于它龐大
的功能庫,因此用戶不用進入系統環境或是作業系統,也不用引用模塊。用 Python
編程,小程式還是小程式,不必勞費太多的成本和時間。
除了它的 Core 平台外, Python 還能在 MS-DOS,Amiga,BeOS, OS/2,VMS,QNX 以及
其它許多作業系統上營運。甚至還可以在掌上電腦上營運 Python 程式。
面對珍珠(Perl)奪目之光、靈蛇(Python)更具有上天入地之能。
除了它的 Core 平台外, Python 還能在 MS-DOS,Amiga,BeOS, OS/2,VMS,QNX 以及
其它許多作業系統上營運。甚至還可以在掌上電腦上營運 Python 程式。
Python 還有以下顯著的特徵︰
超強的適應性
Python 可以由一系列的平台支持。它編譯完備的格式可以在 Windows 和 MacOS 及其自
身 Tk 擴充平台上營運,並可用于開發對用戶友好的界面。在 UNIX 和其它平台上,
Python
可以作為源代碼由程式員自行編譯,或者與其它預編的二進製編碼共同使用。它超強的適
應性更能讓它有跨平台適用的能力︰用它在 UNIX 平台上書寫的程式段95%的情況下無須
作任何修改就可用于 Mac 和 PC 機。擴充 Tk 平台對它的支持,甚至可以讓基于GUI
格式的應用程式不用大動筋骨就可在上述三種平台上做自由切換,還保持著統一的界面。
正因為這種天然生就的跨平台營運能力,Python 還能支持一些平台的擴充平台,從而簡
化和免除了對其它語言和環境的適應過程。與 SunOS / Solaris 工具帶有 Sun 音頻設備
及 SGI版本帶有視音頻界面(包括 OpenGL)一樣,Windows Pytyon 解釋器也同樣帶有
Visual C++ 類庫和
Windows 音頻驅動界面。此外還有與 COM 對象進行通訊的功能。
超大的功能性
Python 幾乎無所不能。它的內核很小,但卻擁有足夠的基本程式塊用于設計大部分應用
軟體。而且在某些情況下該程式語言還可以擴充與 C,C++ 和 Java 語言並用,因此沒有
它編不了的程式。 Python
解釋器還帶有極為強大的補充模塊庫,用于擴充語言能力,進行網路通訊、文本處理和規
則表達式匹配。
雖然 Python 的主要特點是隱去程式員的許多低級複雜工作,它還能支持鉤、擴充程式以
及其它功能對某些作業系統進行低級接入。正因為這種高低兼行的特點,Python 可以視
作和 C,Visual Basic 同等級別的語言,或是介于二者間的其它級別的語言。
超凡的擴容性
因為 Python 本身用 C 語言寫成(某些擴充平台採用C++語言編寫),而且它採用開放式
的源代碼,這樣可以對程式本身進行主動擴充。另外該程式語言的許多模塊由 C 和 C++
界面支持,包括一些諸如網路和DBM數據庫接入等基本構件,以及其它如 Tk 等許多先進
工具。
此外,Python 還能融入 C 或 C++ 語言,從而可以使用 Python 語言為應用程式提供編
程界面。也正基于它的跨語言開發的支持能力,還可以使用 Python 設計應用程式后再輸
送到為 C 語言環境而無須將程式用 C 語言重寫,因為兩種語言均可同時使用。
JPython 是一個完全採用 Java 語言編寫的 Python 解釋器,這就意味著任何 Python 程
序都可與一個 Java 對象或是使用 Python 對象的應用程式相聯結。
超常的簡易性
了解了 Python 以上幾個基本特點后,再對程式語言它內容進行了解就相對容易了。該語
言內核很小,而且格式和文體簡明。由於所有其它的組件和擴充部分都使用完全一樣的句
法架構,利用 Python 編程會很快讓人速成。
但這並不意味著 Python 語言就沒有複雜的地方。對其許多擴充部分和內庫都必需經過深
思熟慮后方可進行有效的利用。
超強的功能性
擁有如此廣泛的支持和博采眾長的特徵,Python 在處理一系列問題上都顯得特別有效。
以下為它的功能簡介︰
電算機︰
由 Python 支持的一個擴充程式叫 NumPy,它可以提供與許多標準數學庫相連的界面。
Python 語言還擁有無限精確的特性,可以單獨處理100位數字的算術。
文字處理器︰
Python 能夠對任何數據進行分割、累加和總結。它的模塊可以對日誌文件行中的元素進
行分割,並根據內置的數據種類對其訊息進行記錄和總結,最後才進行輸出。它的規則表
達式庫使程式員可以使用 emacs,Perl 等等。 這再次證明 Python 的無所不能,曾經有
程式員還利用 Python
編製成非常複雜的 SGML 處理工具。
便捷的應用開發︰
Python對程式員而言一目了然,用它編程迅速有效。它博大的模塊庫可以提供針對不同協
議、工具和庫的界面。免除重新開發之苦。
由於Python 還支持 Tk 工具,所以可以在幾個小時內完成一個應用軟體,而用 Perl 語
言可能會需要2到3天,用 C 語言甚至要幾個星期。
跨平台開發︰
Python 以中立模式支持不同的一系列平台,如果用戶使用的系統包含不同的平台,使用
Python 開發應用程式則再好不過;它這種適應性也可以為系統預留使用其它工具的可能
。對于頻繁更換平台用戶,Python 是個理想的選擇。
為最終用戶提供軟體服務時,Python 也是個備選方案,可以避免同時用不同應用軟體編
程的時間和費用。
系統設備
Python旨在避免作業系統中低級部分的滋擾,但如若需要主動進入這些低級部分時也完全
可以透過相應的工具和擴充件來實現。與作業系統一樣,Python 可以進入相同的的功能
,並予以備份和擴充,而且備份和擴充后的功能會增加 Python 的所有的適應性和界面能
力。
互聯網程式設計
Python 帶有的標準模塊可以對網路插槽進行初級和協議級別的通訊,比如,如果要從
POP 伺服器上讀取電子郵件,Python 隨帶的庫模塊可以做到。另外, Python 還支持
XML、HTML和 CGI 庫文件,所以利用它可以解析用戶輸入的需求,並透過網路伺服器產生
最佳質量的成果。
程式員還可為擁有 Python 內置解釋器的 Apache、Unix 和 Windows 網路伺服器編譯模
塊。基于 CGI 程式的功效,可以很方便地執行 Python 語句而不用單獨裝載。
數據庫編程
Python 中有無數的擴充模塊可以連接如 Orcle、Informix 、mySOL和PostgreSql等通用
的數據庫系統;還有稱作 Gadfly 的工具可以獨立Python 提供完全的SQL環境。Python
有強大的文本和數據處理能力,可以用它作為不同數據庫間的連接,比起那些數據庫附帶
的總結和會報工具顯得更有優勢。同時,由於它支持不同系統,用同樣的界面也可以連接
任何數據庫。可以用 Tk 在支持平台上建立前端,馬上就可獲得高速跨平台、獨立數據庫
的查詢工具。
其它
Python 應用範圍廣泛,幾乎沒有它不適配的語言;憑籍它的微小內核、豐富功能、多樣
數據,Python 提供了一個良好的程式構建基礎。綜合了C 和 C++二者的優點,只要採用
合適的架構和模式,便可對 Python 程式進行無限的擴充。除了一大堆顯著的優點,
Python 也有缺點。
要列出 Python 的缺點確實不太容易。Python 在其擴充模塊中提供了大部分的功能,並
充分顯示了對其增加功能有多容易,一旦用它還不能解決問題,那么也僅需要利用 C 或
C++ 語言重新編寫一個擴充程式便可。
批評 Python 的人往往不是說Python 缺乏某種功能,而是對這種功能並不了解。通常還
有一種抱怨說 Python 缺少規則表達式的支持-但實際上有兩個模塊可以用來處理規則表
達式,其中之一還可以完全用來支持 Perl
語言的句式句法。對規則表達式的處理並沒有編進該語言中,但並不等于它作不到。
針對 Perl、Rebol 和 Java 語句而言, Python 的優勢在于它的內核很小。這減少了執
行的時間,因為在營運時需要裝載的代碼較少,而且這個特點也使它有著更廣的適應性。
一旦熟悉了 Python 語句的簡明風格,它的強大優勢頓時便會凸現出來。用它編就的程式
歷久不衰。
Python 的理想用戶群
它適合不同類型的用戶以解決不同類型的問題。大部分時候這些問題一般不為人所知,因
為它們有著較高的守密性。也有大型公司用它進行商用開發,並展示開發所獲的成果。
紅帽 (Red Hat )曾用 Python 和 Tk 一起成功開發配置和管理作業系統的可視界面。
整個系統可以全面控制 Linux 作業系統,並根據用戶選擇對配置文件作自動更新。
Infoseek 在其公用搜索引擎使用了Python。該公司還用 Python 對其軟體進行定製,使
最終用戶能對該網站內容進行方便下栽。
美國航空太空飛行局也在不少領域中用到 Python 程式語言,最出名的莫過于在任務控制中心
將 Python 用于任務計畫;對 Python 在其它方面的使用例如用其計算天體方位和設計衛
星的路徑等等都充分體現了 Python 的超強計算能力。
以在“星球大站”、“阿貝絲 (Abyss)”、 “星球之旅 (Star Trek)”、 “印地安
那瓊斯 (Indiana Jones)”超級大片中當綱特技和動畫製作的工業光魔公司 (
Industrial Light)也採用 Python 製作商業動畫。
-----