介紹
Python是少有的幾種既強大又簡單的編程語言。你將驚喜地發現通過使用Python即可輕松專注於解決問題而非和你所用的語言格式與結構。
下面是Python的官方介紹:
Python is an easy to learn, powerful programming language. It has efficient high-level data structures and a simple but effective approach to object-oriented programming. Python’s elegant syntax and dynamic typing, together with its interpreted nature, make it an ideal language for scripting and rapid application development in many areas on most platforms.
我將會在后續章節中介紹這些特性。
- 注
- Python創始人Guido van Rossum以BBC節目”Monty Python’s Flying Circus”命名該語言。他由其不喜歡用身體纏繞並殺死獵物來撲食的蛇。
Python的特性
- 簡單
- Python是一種簡單、簡約的編程語言。閱讀優質Python程序將同閱讀十分嚴謹的英語文章一樣。Python的偽代碼性質是其最大優點之一。這令你可僅關注待解決問題而非語言本身。
- 易於學習
- 正如上文所說,Python的格式非常簡單。這令學習Python變得很容易。
- 自由開源
- Python是一種自由及開放源代碼軟件。簡而言之,你可以自由分發此軟件的拷貝、閱讀、更改、再利用其源代碼。自由以及開放源代碼軟件基於分享知識的社群理念。Python由希望使Python更好的社群創造並維護,這是Python如此優秀的原因之一。
- 高級語言
- 使用Python編寫程序時,你不會被程序內存占用等低級問題困擾。
- 可移植性
- Python以其開源特性已被移植到許多平台中。你的所有Python程序若未采用任何系統依賴特性則可不經修改而在任何一個平台上運行。
- 你可在Linux、 Windows、 FreeBSD、 Macintosh、 Solaris、 OS/2、 Amiga、 AROS、AS/400、 BeOS、 OS/390、 z/OS、 Palm OS、 QNX、 VMS、 Psion、 Acorn RISC OS、 VxWorks、 PlayStation、 Sharp Zaurus、 Windows CE 甚至 PocketPC上運行Python程序。
- 解釋型
- 這需要一點解釋。
- 由C或C++等編譯型語言寫成的源代碼需要通過編譯器附帶若干編譯選項轉換為計算機講的語言:二進制文件。運行這些二進制文件時,操作系統將它們加載至內存后運行。
- 然而Python程序並不需要編譯為二進制文件。你可直接“運行“其源代碼。Python將源代碼轉換成名為字節碼的中間形式,然后再將字節碼翻譯為你的計算機的母語並運行。這些過程令你不再擔心編譯程序和加載依賴庫,使Python更易使用。同樣,這也使Python具備更好的可移植性:你可以將你的Python程序復制到其他電腦上並運行。
- 面向對象
- Python不僅支持面向過程編程,還支持面向對象編程。 面向過程語言中僅包涵過程、函數等可重復使用的程序片段。 面向對象語言中程序由結合數據和函數的對象構成。Python擁有較於龐大的C++或Java簡單卻強大的面對對象編程方式。
- 擴展性
- 如果你追求關鍵代碼的執行效率或不希望一些算法被看到,你可以將該部分程序以C或C++編寫並在Python程序中使用它們。。
- 嵌入性
- 你可將Python嵌入你的C/C++程序,令你的程序具有腳本語言支持能力。
- 擴展庫
- Python標准庫很大。它可幫助你進行包括正則表達式、生成文檔、單元測試、線程處理、數據庫、Web瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、加密、GUI、Tk以及其他系統依賴事物。請記住,這些特性在安裝Python的地方即可使用。這就是Python的“自帶電池”哲學。
- 還有很多根據標准庫寫成的高質量庫,例如 wxPython、 Twisted、 Python Imaging Library等。
Python是一種強大並令人興奮的語言。它結合了性能與特性並使利用Python編程變得有趣和容易,
為何不用Perl?
如果你不知道的話,Perl是另一種極受歡迎的開源腳本編程語言。
如果你曾經試圖用Perl編寫大型程序,你可能已經找到了答案。根據我為Yahoo!編寫大型Perl程序的經驗,小型Perl程序易於編寫並能很好地完成任務,單在程序規模擴大后,Perl程序會變得極為笨拙。
相比Perl,Python程序更簡單、更清晰易懂、更便於編寫,因此也就更具可讀性和可維護性。我的確贊賞Perl並將其用於處理日常事物中,但每當我開始編寫程序時Python便自然而然浮現在我的腦海中。Perl經過了太多的更改和處理。令人遺憾的是,即將推出的Perl 6並沒有考慮對這方面進行改進。
我認為Perl擁有的唯一優勢就是其Perl綜合檔案網,CPAN庫。正如其名,CPAN庫是一個巨大的Perl模塊集合。它的大小和深度令人難以想象 - 你可以使你的電腦依靠這些模塊做幾乎任何一件事。Perl的歷史較Python長是其擁有比Python更多模塊的原因之一。但是發展中的Python包目錄似乎可以改變這一局面。
為什么不是Ruby?
如果你不知道的話,Ruby是另一種極受歡迎的開源腳本編程語言。
如果你已經愛上了使用Ruby,我建議你繼續使用Ruby。
如果你沒有用過Ruby或還沒決定使用Ruby或Python,從簡單易學的觀點上我建議你使用Python。我個人認為掌握Ruby語言有些困難。對於掌握Ruby的人來說,他們都在贊美Ruby的美麗,不幸的是,我沒有這么幸運地學會Ruby。
程序員們的話
興許你會對類似ESR的偉大黑客對Python的評價感到興趣:
- 埃里克·雷蒙是《大教堂和市集》的作者和開放源代碼一詞的始作俑者。他說Python已經成為了他最喜愛的編程語言。這篇文章鼓舞了我首次接觸Python。
- Bruce Eckel是《Thinking in Java》和《Thinking in C++》的作者,他認為Python是僅有的一種旨在為程序員簡化工作的編程語言。欲了解詳情,請閱讀完整采訪。
- Peter Norvig是著名的Lisp書籍作者、Google搜索質量主任(感謝Guido van Rossum指出)。他認為Python已經成為了Google不可或缺的一部分。你可以通過瀏覽Google Jobs確定這個論斷:對Python的了解已經成了對Google軟件工程師的要求。
關於Python 3.0
Python 3.0是Python語言的新版本,有時還被稱為Python 3000或Py3k。
此版本解決了一直以來積累的眾多小問題並使Python更加簡潔。
如果你擁有眾多Python 2.x源碼,這里的工具可幫助你將2.x源碼轉換至3.x源碼。
更多詳情可閱讀:
- Guido van Rossum的介紹
- What’s New in Python 2.6 (與之前Python 2.x版本有極大不同的特性,很可能會包含在Python 3.0中。)
- What’s New in Python 3.0
- Python 2.6 and 3.0 Release Schedule
- Python 3000 (the official authoritative list of proposed changes)
- Miscellaneous Python 3.0 Plans
- Python News (detailed list of changes)

