1. 課前甜點?
如果您的工作主要是用電腦完成的,總有一天您會想能不能自動執(zhí)行一些任務(wù)。比如,對大量文本文件執(zhí)行查找、替換操作;利用復(fù)雜的規(guī)則重命名、重排序一堆照片文件;也可能您想編寫一個小型數(shù)據(jù)庫、或開發(fā)專用的圖形界面應(yīng)用,甚至是開發(fā)一個簡單的游戲。
作為一名專業(yè)軟件開發(fā)人員,您可能要處理 C/C++/Java 庫,但編碼、編譯、測試、再編譯這些開發(fā)流程太慢了;也許您正在給這些庫開發(fā)測試套件,但總覺得這項工作真是枯燥乏味。又或許,您開發(fā)了個使用擴展語言的軟件,卻不想為這個軟件專門設(shè)計一種新語言。
那么,Python 正好能滿足您的需要。
You could write a Unix shell script or Windows batch files for some of these tasks, but shell scripts are best at moving around files and changing text data, not well-suited for GUI applications or games. You could write a C/C++/Java program, but it can take a lot of development time to get even a first-draft program. Python is simpler to use, available on Windows, macOS, and Unix operating systems, and will help you get the job done more quickly.
Python 雖然簡單易用,但它可是真正的編程語言,提供了大量的數(shù)據(jù)結(jié)構(gòu),也支持開發(fā)大型程序,遠超 shell 腳本或批處理文件;Python 提供的錯誤檢查比 C 還多;作為一種“非常高級的語言”,它內(nèi)置了靈活的數(shù)組與字典等高級數(shù)據(jù)類型。正因為配備了更通用的數(shù)據(jù)類型,Python 比 Awk,甚至 Perl 能解決更多問題,而且,很多時候,Python 比這些語言更簡單。
Python 支持把程序分割為模塊,以便在其他 Python 程序中復(fù)用。它還內(nèi)置了大量標準模塊,作為開發(fā)程序的基礎(chǔ) —— 您還可以把這些模塊當作學(xué)習(xí) Python 編程的實例。這些模塊包括 I/O、系統(tǒng)調(diào)用、套接字,甚至還包括 Tk 圖形用戶界面工作套件。
Python 是一種解釋型語言,不需要編譯和鏈接,可以節(jié)省大量開發(fā)時間。它的解釋器實現(xiàn)了交互式操作,輕而易舉地就能試用各種語言功能,編寫臨時程序,或在自底向上的程序開發(fā)中測試功能。同時,它還是一個超好用的計算器。
Python 程序簡潔、易讀,通常比實現(xiàn)同種功能的 C、C++、Java 代碼短很多,原因如下:
高級數(shù)據(jù)類型允許在單一語句中表述復(fù)雜操作;
使用縮進,而不是括號實現(xiàn)代碼塊分組;
無需預(yù)聲明變量或參數(shù)。
Python “可以擴展”:會開發(fā) C 語言程序,就能快速上手為解釋器增加新的內(nèi)置函數(shù)或模塊,不論是讓核心程序以最高速度運行,還是把 Python 程序鏈接到只提供預(yù)編譯程序的庫(比如,硬件圖形庫)。只要下點功夫,就能把 Python 解釋器和用 C 開發(fā)的應(yīng)用鏈接在一起,用它來擴展和控制該應(yīng)用。
順便提一句,本語言的命名源自 BBC 的 “Monty Python 飛行馬戲團”,與爬行動物無關(guān)(Python 原義為“蟒蛇”)。歡迎大家在文檔中引用 Monty Python 小品短篇集,多多益善!
現(xiàn)在,您已經(jīng)對 Python 躍躍欲試,想深入了解一些細節(jié)了吧。要知道,學(xué)習(xí)語言的最佳方式是上手實踐,建議您邊閱讀本教程,邊在 Python 解釋器中練習(xí)。
下一章介紹解釋器的用法。這部分內(nèi)容有些單調(diào)乏味,但對上手實踐后面的例子來說卻至關(guān)重要。
本教程的其他部分將利用各種示例,介紹 Python 語言、系統(tǒng)的功能,開始只是簡單的表達式、語句和數(shù)據(jù)類型,然后是函數(shù)、模塊,最后,介紹一些高級概念,如,異常、用戶定義的類等功能。