簡明Python3教程 1.介紹

pythontab發表於2013-01-03

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原始碼。



相關文章