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