python基礎(chǔ)

- Python的創(chuàng)始人為Guido van Rossum(荷蘭人,見圖)。1982年,Guido從阿姆斯特丹大學(xué)獲得了數(shù)學(xué)和計算機(jī)碩士學(xué)位,由于當(dāng)時編程語言比較復(fù)雜,因此Guido希望能夠研發(fā)出一種輕松編程的語言。ABC語言(由荷蘭的數(shù)學(xué)和計算機(jī)研究所開發(fā))讓Guido看到了希望,于是Guido應(yīng)聘到該研究所工作,并參與到ABC語言的開發(fā)。但由于當(dāng)時的開發(fā)是單向的,因此最后只得到商業(yè)上失敗的結(jié)果。


- 隨著互聯(lián)網(wǎng)的普及,Guido再一次看到了希望。1989年的圣誕節(jié),這位宅男為了打發(fā)時間,決定在ABC的基礎(chǔ)上開發(fā)一個新型的基于互聯(lián)網(wǎng)社區(qū)的腳本解釋程序,這樣Python就在鍵盤敲擊聲中誕生了。Python的誕生讓Guido興奮不止,但問題來了,這門新語言該用哪個名字來命名?某一天,Guido在欣賞他最喜愛的喜劇團(tuán)體Monty Python演出時,突然靈光一閃,這門新語言有了自己的命名——Python(大蟒蛇的意思)。

- Python從誕生一直更新到現(xiàn)在,經(jīng)歷了多個版本。截止到目前,官網(wǎng)仍然保留的版本主要是基于Python2.x和Python3.x系列,具體如表所示。

Python2.7是Python 2.x系列的最后一個版本,已經(jīng)停止開發(fā),計劃在2020年終止支持。Guido決定清理Python2.x系列,并將所有最新標(biāo)準(zhǔn)庫的更新改進(jìn)體現(xiàn)在Python 3.x系列中。Python3.x系列的一個最大改變就是使用UTF-8作為默認(rèn)編碼,從此,Python3.x系列中就可以直接編寫中文程序了。
另外,Python3.x系列比Python2.x系列更規(guī)范統(tǒng)一,其中去掉了某些不必要的關(guān)鍵字與語句。由于Python3.x系列支持的庫越來越多,開源項目支持Python3.x的比例已大大提高。鑒于以上理由,本書推薦讀者直接學(xué)習(xí)Python3.x系列。

- 1. 簡單
Python是一種代表簡單主義思想的語言,閱讀一段Python程序就像在閱讀一篇文章,這使開發(fā)者能夠?qū)W⒂诮鉀Q問題而不是去搞明白語言本身。
- 2. 易學(xué)
Python有極其簡單的語法,如果開發(fā)同樣的功能,使用其他語言可能需要上百行代碼,而Python只需幾十行代碼就可以輕松搞定。
- 3. 免費、開源
Python是FLOSS(自由/開放源碼軟件)之一,使用者可以自由地發(fā)布這個軟件的拷貝、閱讀它的源代碼并對它進(jìn)行修改,這也是Python如此優(yōu)秀的原因之一。
- 4. 可移植性
由于其開源本質(zhì),Python已經(jīng)被移植在許多平臺上,例如Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE等。
- 5. 解釋性
C/C++語言在執(zhí)行時需要經(jīng)過編譯,生成機(jī)器碼后才能執(zhí)行。Python是直接由解釋器執(zhí)行。由于不再需要擔(dān)心如何編譯程序、如何確保連接轉(zhuǎn)載正確的庫等,所有這一切使得Python的使用更加簡單。
- 6. 面向?qū)ο?/strong>
Python從設(shè)計之初就已經(jīng)是一門面向?qū)ο蟮恼Z言。在面向過程的語言中,程序是由過程或僅僅是可重用代碼的函數(shù)構(gòu)建起來的。在面向?qū)ο蟮恼Z言中,程序是由數(shù)據(jù)和功能組合而成的對象構(gòu)建起來的。
- 7. 可擴(kuò)展性
假如用戶需要一段關(guān)鍵代碼運行得更快或者希望某些算法不公開,可以把部分程序用C或C++語言編寫,然后在Python程序中使用它們。
- 8. 可嵌入性
用戶可以把Python嵌入到C/C++程序,從而向程序提供腳本功能。
- 9. 豐富的庫
Python提供豐富的標(biāo)準(zhǔn)庫,包括正則表達(dá)式、文檔生成、單元測試、線程、數(shù)據(jù)庫、網(wǎng)頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統(tǒng)、GUI、Tk以及其他與系統(tǒng)相關(guān)的庫。

- 1. Web開發(fā)
Python語言支持Web網(wǎng)站開發(fā),比較流行的開發(fā)框架有Flask、Django等。許多大型網(wǎng)站就是用Python開發(fā)的,例如YouTube、Google、金山在線、豆瓣等。
- 2. 網(wǎng)絡(luò)爬蟲
Python語言提供了大量網(wǎng)絡(luò)模塊用于對網(wǎng)頁內(nèi)容進(jìn)行讀取和處理,如urllib、cookielib、httplib、scrapy等。同時,這些模塊結(jié)合多線程編程以及其他有關(guān)模塊可以快速開發(fā)網(wǎng)頁爬蟲之類的應(yīng)用程序。
- 3. 科學(xué)計算與數(shù)據(jù)可視化
Python語言提供了大量模塊用于科學(xué)計算與數(shù)據(jù)可視化,如NumPy、SciPy、SymPy、Matplotlib、Traits、TraitsUI、Chaco、TVTK、Mayavi、VPython、OpenCV等,這些模塊涉及的應(yīng)用領(lǐng)域包括數(shù)值計算、符號計算、二維圖表、三維數(shù)據(jù)可視化、三維動畫演示、圖像處理以及界面設(shè)計等。
此外,Python語言在系統(tǒng)編程、GUI編程、數(shù)據(jù)庫應(yīng)用、游戲、圖像處理、人工智能等領(lǐng)域被廣泛應(yīng)用。

浙公網(wǎng)安備 33010602011771號