Python@TW: 會眾| IRC| Planet| 郵件列表| 聯絡我們

Python 是什麼?

Python 是一種泛用性的動態物件導向程式語言。自 1990 年代初由 Guido von Rossum (又常被稱為 GvR 或 BDFL) 創造至今已歷十數年發展,應用於系統管理、網路管理、網路傳輸程式、網頁程式開發、數值分析程式、圖形介面應用程式等方面,均有優秀的表現。

方便的 Python

Python 的標準程式庫豐富強大,「能量充沛」(batteries included)。

Python 的用途廣泛,使用者來自各個領域。在 [http://cheeseshop.python.org/pypi Python Cheeseshop] 裡,你可以找到符合各種需要的套件模組。

Python 不像 Java 那麼大名鼎鼎,但能寫出更加簡潔清晰的程式碼。

快速的 Python

Python 程式執行的速度,在常用的動態語言 (PHP, Perl, Ruby, etc.) 中是數一數二快的。

跨平台的 Python

Python 除了跨 Windows、Mac OS X、Linux 等常見作業系統平台之外,也可以在 Java 和 .Net 環境中執行。

另外,在最普及的 Windows CE PDA 外,Nokia S60 系列手機上也可以執行 Python 語言喔。

高彈性的 Python

Python 以它的「膠著力」聞名,被稱作「膠水語言」 (Python as a glue),多年來都與 C/C++ 合作愉快。網路遊戲「星戰前夜 (EVE)」用它與 C++ 合作,打造成功商業範例。知名的戰略遊戲「火線交鋒 (Act of War)」也使用 Python 作為連線對戰介面。

此外,透過 Jython,Python 能與 Java 合作愉快;透過 Iron Python,Python 能與 .Net 合作愉快。Iron Python 的作者任職於微軟,也正是 Jython 的原作者。

Python 發展簡史

1990 年代初,Guido 在荷蘭的 Stichting Mathematisch Centrum (CWI,見 http://www.cwi.nl/ ),為了開發 ABC 語言的後續版本而創造了 Python。雖然 Guido 被認為是 Python 的主要作者,但也有許多人為此語言作了很多貢獻。

1995 年的時候,Guido 在 Corporation for National Research Initiatives (CNRI,見 http://www.cnri.reston.va.us/) 繼續開發 Python。在這個階段中他發行了幾個 Python 的主要版本。

到了 2000 年 5 月的時候,Python 的開發工作移到了 BeOpen.com,形成了 BeOpen PythonLabs 團隊。在同年的 10 月,PythonLabs 團隊則移到了 Digital Creations 公司 (即現今的 Zope Corporation,見 http://www.zope.com/ )。

最後,Python Software Foundation (PSF,見 http://www.python.org/psf/) 在 2001 年建立,Zope Corporation 也是其中一位資助者。PSF 是一個非營利的組織,專責擁有與 Python 相關的智慧財產權,直到今天。

目前 Python 使用與 GPL 相容的條款進行授權使用,但允許使用者在修改了 Python 的原始碼並重新散佈時,不必附上所修改的原始碼。雖然所有的 Python 發行版都屬於開放原始碼軟體。然而,雖然大部分的 Python 發行版本與 GPL 相容,卻並非全部如此。

Python 的應用

Python 網頁開發

Python 有眾多網頁開發工具。從各式各樣的模板到框架級的 ["Django"]、TurboGears、Pylons。提供了優良的網頁開發支援。

如果你需要比框架更多的網頁程式開發支援,請考慮 ["Zope"]: Z Object Publishing Environment,萬用的網頁應用程式伺服器。或者你也會對 Python/Zope 下強大的網頁式內容管理系統 ["Plone"] 感興趣。

Python 支援各種資料庫。sqlite、MySQL、PostgresSQL、Oracle、MSSQL、FireBird 等等都沒問題。

Python 有極好的 SQL wrapper:SQLAlchemy,幫助我們用物件導向的方式存取資料庫。

以 Python 開發的知名軟體

你知道嗎?

[http://www.bittorrent.org/ Bittorrent] 主要版本 (mainline) 是用 Python 寫的。

NASA 用 Python 計算衛星軌道。

愈來愈愛歡迎的原始碼管理程式 ["Trac"] 是用 Python 寫的。常用的 wiki 引擎 MoinMoin、強大的應用程式伺服器 ["Zope"],以及最常用的 mailing list 軟體 [http://www.gnu.org/software/mailman/ Mailman] 也是用 Python 所開發出來的。

以 Python 開發的知名服務

大家常用的 YouTube 網站,大部分使用 Python 語言開發。

Google 用 Python 語言撰寫網路爬蟲 (crawler)。

其它以 Python 開發的系統

[http://matplotlib.sourceforge.net/ Matplotlib] 是類似 Matlab 的自由工程計算/繪圖軟體。

[http://www.salstat.com/ SalStat Statistics] 是類似 SPSS 的自由統計軟體。

[http://bibus-biblio.sourceforge.net/wiki/index.php/Main_Page Bibus Bibliographic software] 是一個書目資料庫,像Endnote一樣,是寫論文的好幫手。

[http://www.gnome.org/projects/straw/ Straw] 一個好用的RSS閱讀器。

[http://www.tortall.net/mu/wiki/Cankiri Cankiri] 在Linux上的畫面錄製軟體

[http://www.pitivi.org/wiki/Main_Page PiTiVi] 非線性影音剪輯

Python 還可以作什麼?

NASA 使用 Python 計算衛星軌道,那麼離用來飛太空梭也不遠了?

讓我們來看看官方對 [http://www.python.org/about/quotes/ Python 使用領域的說明]。

聽聽 Python 愛好者怎麼說

["Thinker"]: 我最愛用的語言!

["timchen119"]: 一種易學易用,鼓勵使用者開發易讀程式碼的優雅語言。

["yungyuc"]: {OK}

["marr"]: 像初吻般的感動。

["gasolin"]: 學 python 讓我寫其他語言程式時更清晰.

DrakeGuan: 看到同事開始使用我用 wxPython 寫的程式,心情實在非常的 high。