Python 誕生于 1989 年的圣誕期間,由 Guido van Rossum 開發(fā)而成,目前 Guido 仍然是 Python 的主要開發(fā)者,主導(dǎo)著 Python 的發(fā)展方向,Python 社區(qū)經(jīng)常稱呼他為『仁慈的獨(dú)裁者』。
Python 是一門面向?qū)ο?,解釋型的高?jí)程序設(shè)計(jì)語言,它的語法非常簡(jiǎn)潔、優(yōu)雅,而這也是 Python 的一些設(shè)計(jì)哲學(xué)。Python 自帶了很完善的庫,涵蓋了數(shù)據(jù)庫,網(wǎng)絡(luò),文件處理,GUI 等方方面面,通過這些庫,我們可以比較快速地解決一些棘手問題,也可以將其作為基礎(chǔ)庫,開發(fā)出一些高級(jí)庫。
目前 Python 在大部分領(lǐng)域都占有一席之地,比如 Web 開發(fā),機(jī)器學(xué)習(xí),科學(xué)計(jì)算等。不少大型網(wǎng)站都是使用 Python 作為后臺(tái)開發(fā)語言的,比如 YouTube、Pinterest、國內(nèi)的豆瓣和知乎等。另外,有不少知名的機(jī)器學(xué)習(xí)庫也是使用 Python 開發(fā)的,比如,scikit-learn 是一個(gè)強(qiáng)大的機(jī)器學(xué)習(xí)庫,Theano 是一個(gè)成熟的深度學(xué)習(xí)庫。
當(dāng)然了,Python 也有一些缺點(diǎn)。Python 經(jīng)常被人們吐槽的一點(diǎn)就是:運(yùn)行速度慢,和 C/C++ 相比非常慢。但是,除了像視頻高清解碼等計(jì)算密集型任務(wù)對(duì)運(yùn)行速度有較高的要求外,在大部分時(shí)候,我們可能并不需要非??斓倪\(yùn)行速度。比如,一個(gè)程序使用 C 來實(shí)現(xiàn),運(yùn)行時(shí)間只需 0.01 秒,而使用 Python 來實(shí)現(xiàn),需要 0.1 秒,雖然 Python 的運(yùn)行時(shí)間是 C 的 10 倍,顯然很慢,但對(duì)我們而言,這壓根不是問題。
本書是我學(xué)習(xí)和使用 Python 的總結(jié)。在學(xué)習(xí)和使用 Python 的過程中,我作了不少筆記,并對(duì)一些筆記進(jìn)行了加工和完善,發(fā)表在博客上。隨著筆記的增加,我就萌生了寫一本書的想法,希望能比較系統(tǒng)地總結(jié)相關(guān)知識(shí),鞏固自己的知識(shí)體系,而不是停留在『感覺好像懂了』的狀態(tài)中。
有了想法之后,接下來就要開始寫了。當(dāng)然,從產(chǎn)生想法到付諸實(shí)踐還是糾結(jié)了一段時(shí)間,畢竟,作筆記和寫書很不一樣啊。思想斗爭(zhēng)過后,我下定決心要把它寫出來。
首先,我參考一些相關(guān)的書籍,作了一個(gè)基礎(chǔ)的思維導(dǎo)圖,如下:

接下來,就要開始寫作了,這也是最艱難的一關(guān)。
我沒有按照從頭到尾的順序?qū)?,而是從最感興趣的知識(shí)點(diǎn)入手,比如函數(shù)式編程、類的使用等等。就這樣,一點(diǎn)一點(diǎn)地寫,實(shí)在不想寫了,就先擱置一下,過兩天繼續(xù)寫。
我在寫作的過程中,給自己提了一個(gè)要求:盡量深入淺出,條理清晰。至于是否達(dá)到了,希望讀者們多多批評(píng)指正,并給我提意見和建議。
本書的每章基本上都是獨(dú)立的,讀者可以挑選感興趣的章節(jié)進(jìn)行閱讀。目前本書有 15 個(gè)章節(jié):
本書的編碼環(huán)境:
本書將會(huì)持續(xù)進(jìn)行修訂和更新,讀者如果遇到問題,請(qǐng)及時(shí)向我反饋,我會(huì)在第一時(shí)間加以解決。
目前本書暫時(shí)提供 epub 格式的電子版,因?yàn)樯傻?pdf 和 mobi 版本并不是很美觀,不利于閱讀,故暫不提供。
本書由 Ethan 編寫,采用 CC BY-NC-ND 4.0 協(xié)議發(fā)布。
這意味著你可以在非商業(yè)性使用的前提下自由轉(zhuǎn)載,但必須:
| 時(shí)間 | 說明 |
|---|---|
| 2017-01-03 | 發(fā)布版本 v1.0 |
如果你對(duì)于本書有什么建議或意見,歡迎批評(píng)指正,并聯(lián)系我。
如果你覺得本書對(duì)你有所幫助,不妨請(qǐng)我喝杯咖啡,感謝支持!