by Spike
本文不會(huì)涉及過多的語法細(xì)節(jié),著重介紹Python相較于其它編程語言的不同點(diǎn),所以本文適合以下類型的讀者閱讀:對(duì)常用的編程語言(C、C++、Java等)有簡單了解,對(duì)Python抱有好奇心和興趣的讀者。
Python,是一種廣泛使用的解釋型、高級(jí)編程、通用型編程語言,由吉多·范羅蘇姆于1991年創(chuàng)造。Python的設(shè)計(jì)哲學(xué)強(qiáng)調(diào)代碼的可讀性和簡潔的語法(尤其是使用空格縮進(jìn)劃分代碼塊,而非使用大括號(hào)或者關(guān)鍵詞)。相比于C++或Java,Python讓開發(fā)者能夠用更少的代碼表達(dá)想法。
Python是完全面向?qū)ο蟮恼Z言。函數(shù)、模塊、數(shù)字、字符串都是對(duì)象。并且完全支持繼承、重載、派生、多重繼承,有益于增強(qiáng)源代碼的復(fù)用性。Python支持重載運(yùn)算符,因此Python也支持泛型設(shè)計(jì)。Python的設(shè)計(jì)哲學(xué)是“優(yōu)雅”、“明確”、“簡單”,強(qiáng)調(diào)“用一種方法,最好是只有一種方法來做一件事”。不過,Python相對(duì)于C、Visual Basic等靜態(tài)類型語言來說運(yùn)行速度較慢。
網(wǎng)絡(luò)應(yīng)用程序:Python對(duì)于各種網(wǎng)絡(luò)協(xié)議的支持很完善,因此經(jīng)常被用于編寫服務(wù)器軟件、網(wǎng)絡(luò)爬蟲。豐富的第三方 Web框架,也可以輕松開發(fā)和管理復(fù)雜的Web程序。
GUI開發(fā):使用自帶的Tkinter庫或第三方的wxPython、PyQt等GUI包,可以輕松地開發(fā)跨平臺(tái)的桌面軟件。
科學(xué)計(jì)算:使用NumPy、SciPy、Matplotlib等庫,可以輕松編寫科學(xué)計(jì)算程序,而不用自己重復(fù)編寫一些所需的API。
Python擁有一個(gè)強(qiáng)大的標(biāo)準(zhǔn)庫。Python語言的核心只包含數(shù)字、字符串、列表、字典、文件等常見類型和函數(shù),而由Python標(biāo)準(zhǔn)庫提供了系統(tǒng)管理、網(wǎng)絡(luò)通信、文本處理、數(shù)據(jù)庫接口、圖形系統(tǒng)、XML處理等額外的功能。此外,Python社區(qū)提供了大量的第三方模塊,使用方式與標(biāo)準(zhǔn)庫類似。它們的功能覆蓋科學(xué)計(jì)算、Web開發(fā)、數(shù)據(jù)庫接口、圖形系統(tǒng)多個(gè)領(lǐng)域。比較著名的庫有:Django、Flask、Tornado、Matplotlib、SciPy、NumPy、PyQt、WxPython、PIL、TensorFlow等。
常見的通用IDE或文本編輯器,如Eclipse、VS Code、Vim、Notepad++、UltraEdit、等,對(duì)Python都有不同程度的支持。另外,除了標(biāo)準(zhǔn)二進(jìn)制發(fā)布包所附的IDLE之外,還有許多專用于Python的集成開發(fā)環(huán)境(IDE)。其中有些軟件設(shè)計(jì)有語法著色、語法檢查、運(yùn)行調(diào)試、自動(dòng)補(bǔ)全、智能感知等便利功能。比如Anaconda、PyCharm、Spyder等。
Python的3.0版本,相對(duì)于Python的早期版本,是一個(gè)較大的升級(jí)。為了不帶入過多的累贅,Python 3.0在設(shè)計(jì)時(shí)沒有考慮向下兼容。許多針對(duì)早期Python版本設(shè)計(jì)的程序都無法在Python 3.0上正常運(yùn)行。新的Python程序都建議使用Python 3.0版本的語法。
下面,以所有程序員都熟悉的“Hello World”為例,來比較C和Python語言的不同點(diǎn)。
代碼整體比較簡單,感興趣的讀者可以在此基礎(chǔ)上修改,制作更有創(chuàng)意的字符畫。
Python不僅語法簡潔、容易上手,而且有著數(shù)量眾多且功能強(qiáng)大的第三方庫,很適合用來實(shí)現(xiàn)自己的各種 idea,或者快速開發(fā)一些小工具,從而提高日常工作的效率。