1. 課前甜點(diǎn)?

如果您的工作主要是用電腦完成的,總有一天您會(huì)想能不能自動(dòng)執(zhí)行一些任務(wù)。比如,對(duì)大量文本文件執(zhí)行查找、替換操作;利用復(fù)雜的規(guī)則重命名、重排序一堆照片文件;也可能您想編寫(xiě)一個(gè)小型數(shù)據(jù)庫(kù)、或開(kāi)發(fā)專(zhuān)用的圖形界面應(yīng)用,甚至是開(kāi)發(fā)一個(gè)簡(jiǎn)單的游戲。

作為一名專(zhuān)業(yè)軟件開(kāi)發(fā)人員,您可能要處理 C/C++/Java 庫(kù),但編碼、編譯、測(cè)試、再編譯這些開(kāi)發(fā)流程太慢了;也許您正在給這些庫(kù)開(kāi)發(fā)測(cè)試套件,但總覺(jué)得這項(xiàng)工作真是枯燥乏味。又或許,您開(kāi)發(fā)了個(gè)使用擴(kuò)展語(yǔ)言的軟件,卻不想為這個(gè)軟件專(zhuān)門(mén)設(shè)計(jì)一種新語(yǔ)言。

那么,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 雖然簡(jiǎn)單易用,但它可是真正的編程語(yǔ)言,提供了大量的數(shù)據(jù)結(jié)構(gòu),也支持開(kāi)發(fā)大型程序,遠(yuǎn)超 shell 腳本或批處理文件;Python 提供的錯(cuò)誤檢查比 C 還多;作為一種“非常高級(jí)的語(yǔ)言”,它內(nèi)置了靈活的數(shù)組與字典等高級(jí)數(shù)據(jù)類(lèi)型。正因?yàn)榕鋫淞烁ㄓ玫臄?shù)據(jù)類(lèi)型,Python 比 Awk,甚至 Perl 能解決更多問(wèn)題,而且,很多時(shí)候,Python 比這些語(yǔ)言更簡(jiǎn)單。

Python 支持把程序分割為模塊,以便在其他 Python 程序中復(fù)用。它還內(nèi)置了大量標(biāo)準(zhǔn)模塊,作為開(kāi)發(fā)程序的基礎(chǔ) —— 您還可以把這些模塊當(dāng)作學(xué)習(xí) Python 編程的實(shí)例。這些模塊包括 I/O、系統(tǒng)調(diào)用、套接字,甚至還包括 Tk 圖形用戶界面工作套件。

Python 是一種解釋型語(yǔ)言,不需要編譯和鏈接,可以節(jié)省大量開(kāi)發(fā)時(shí)間。它的解釋器實(shí)現(xiàn)了交互式操作,輕而易舉地就能試用各種語(yǔ)言功能,編寫(xiě)臨時(shí)程序,或在自底向上的程序開(kāi)發(fā)中測(cè)試功能。同時(shí),它還是一個(gè)超好用的計(jì)算器。

Python 程序簡(jiǎn)潔、易讀,通常比實(shí)現(xiàn)同種功能的 C、C++、Java 代碼短很多,原因如下:

  • 高級(jí)數(shù)據(jù)類(lèi)型允許在單一語(yǔ)句中表述復(fù)雜操作;

  • 使用縮進(jìn),而不是括號(hào)實(shí)現(xiàn)代碼塊分組;

  • 無(wú)需預(yù)聲明變量或參數(shù)。

Python “可以擴(kuò)展”:會(huì)開(kāi)發(fā) C 語(yǔ)言程序,就能快速上手為解釋器增加新的內(nèi)置函數(shù)或模塊,不論是讓核心程序以最高速度運(yùn)行,還是把 Python 程序鏈接到只提供預(yù)編譯程序的庫(kù)(比如,硬件圖形庫(kù))。只要下點(diǎn)功夫,就能把 Python 解釋器和用 C 開(kāi)發(fā)的應(yīng)用鏈接在一起,用它來(lái)擴(kuò)展和控制該應(yīng)用。

順便提一句,本語(yǔ)言的命名源自 BBC 的 “Monty Python 飛行馬戲團(tuán)”,與爬行動(dòng)物無(wú)關(guān)(Python 原義為“蟒蛇”)。歡迎大家在文檔中引用 Monty Python 小品短篇集,多多益善!

現(xiàn)在,您已經(jīng)對(duì) Python 躍躍欲試,想深入了解一些細(xì)節(jié)了吧。要知道,學(xué)習(xí)語(yǔ)言的最佳方式是上手實(shí)踐,建議您邊閱讀本教程,邊在 Python 解釋器中練習(xí)。

下一章介紹解釋器的用法。這部分內(nèi)容有些單調(diào)乏味,但對(duì)上手實(shí)踐后面的例子來(lái)說(shuō)卻至關(guān)重要。

本教程的其他部分將利用各種示例,介紹 Python 語(yǔ)言、系統(tǒng)的功能,開(kāi)始只是簡(jiǎn)單的表達(dá)式、語(yǔ)句和數(shù)據(jù)類(lèi)型,然后是函數(shù)、模塊,最后,介紹一些高級(jí)概念,如,異常、用戶定義的類(lèi)等功能。