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

Python 是什麼?

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

["/History"] 頁面簡述 Python 發展的歷史。

方便的 Python

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

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

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

["/IDE"] 頁面簡述 PythonIDE 清單。

快速的 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 的應用

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 開發的知名軟體

愈來愈愛歡迎的原始碼管理程式 ["Trac"] 是用 Python所開發的。

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

分散式版本控制系統 ["Mercurial"] 及 ["Bazaar"] 也使用Python開發。

[http://www.bittorrent.org/ Bittorrent (BT) ] 最早的主要版本 (mainline) 版本6.0以前都是用 Python 開發的。

以 Python 開發的知名服務

你知道嗎?

[http://www.NASA.gov NASA] 用 Python 計算衛星軌道。

大家常用的 [http://www.YouTube.com YouTube] 網站,大部分使用 Python 語言開發。

[http://www.Google.com.tw Google] 用 Python 語言撰寫網路爬蟲 (crawler) 與許多其它服務;Guido van Rossum 在 2006 年加入 Google。

其它以 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。