Python 語言可能是第一種即簡(jiǎn)單又功能強(qiáng)大的編程語言。它不僅適合于初學(xué)者,也適合于專業(yè)人員使用,更加重要的是,用 Python 編程是一種愉快的事。本身將幫助你學(xué)習(xí)這個(gè)奇妙的語言,并且向你展示如何即快捷又方便地完成任務(wù)——真正意義上“為編程問題提供的完美解決方案!”
本書可以作為 Python 編程語言的一本指南或者教程。它主要是為新手而設(shè)計(jì),不過對(duì)于有經(jīng)驗(yàn)的程序員來說,它同樣有用。
即便你對(duì)計(jì)算機(jī)的了解只是如何在計(jì)算機(jī)上保存文本文件,你都可以通過本書學(xué)習(xí) Python。如果你有編程經(jīng)驗(yàn),你也可以使用本書學(xué)習(xí) Python。
如果你以前有編程經(jīng)驗(yàn),那么你將會(huì)對(duì) Python 語言和其他你所鐘愛的編程語言之間的區(qū)別感興趣。對(duì)此我為你指出了許多這樣的區(qū)別。順便提醒你,Python 將很快成為你最喜歡的編程語言!
我最初接觸 Python 是當(dāng)我需要為我的軟件鉆石寫一個(gè)方便安裝過程的安裝程序的時(shí)候。我得在 Python 和 Perl 語言中選擇一個(gè)綁定 Qt 庫。我在網(wǎng)上做了一些研究,偶然發(fā)現(xiàn)了一篇文章。那是 Eric S. Raymond(著名的電腦高手)談 Python 如何成為它最喜歡地編程語言的一篇文章。我同時(shí)發(fā)現(xiàn) PyQt 綁定與 Perl-Qt 相比要出色得多,所以我選擇了 Python 語言。
之后我開始尋找一本關(guān)于 Python 的優(yōu)秀書籍。我竟然找不到!雖然我找到了一些 O'Reilly 的書,不過它們不是太貴就是如同一本參考手冊(cè)而不是一本指南。我最后使用了 Python 附帶的文檔,不過它太簡(jiǎn)略了。那個(gè)文檔確實(shí)很好的給出了 Python 的概念,不過不夠全面。盡管最后我根據(jù)我以前得編程經(jīng)驗(yàn)掌握了那個(gè)文檔,不過我覺得它完全不適合于新手。
大約在我首次使用 Python 語言的六個(gè)月之后,我安裝了那時(shí)最新的 Red Hat 9.0 Linux。在我玩弄 KWord 應(yīng)用程序的時(shí)候,我突然想寫一點(diǎn)關(guān)于 Python 的東西。很快我就寫了 30 多頁,然后我開始認(rèn)真地想辦法把它變成一本完整的書。經(jīng)過 多次 的改進(jìn)和重寫,它終于成為了一本有用的完整的 Python 語言學(xué)習(xí)指南。我把本書貢獻(xiàn)給開源軟件者們。
本書來自于我個(gè)人學(xué)習(xí) Python 的筆記,不過我盡力讓它更加適合別人的口味。
在開源精神的鼓舞下,我收到了許多建設(shè)性的建議和批評(píng)以及來自熱心讀者的反饋,它們使這本書變得更加出色。
本書目前仍然在進(jìn)一步完善中。許多章節(jié)已經(jīng)頻繁地做了修改。然而本書已經(jīng)十分成熟了,你一定可以很容易地通過它學(xué)習(xí) Python。如果你覺得本書中有什么錯(cuò)誤或者難懂的地方,請(qǐng)告訴我。
本書將來計(jì)劃增加更多的章節(jié),包括 wxPython,Twisted,有可能的話甚至還有 Boa Constructor。
本書的官方網(wǎng)站是 www.byteofpython.info。你可以在這個(gè)網(wǎng)站上在線閱讀本書,也可以下載本書的最新版本或給我反饋。
本書(原版)依照創(chuàng)作共用約定(署名-非商業(yè)作品-保持一致)發(fā)布。簡(jiǎn)單地說,你只要署上我的名字,就可以免費(fèi)復(fù)制、分發(fā)和展示本書。未得到我的允許,你禁止把本書用于商業(yè)目的。你在修改本書的時(shí)候,必須清楚地標(biāo)明所有做了改動(dòng)的地方,你發(fā)布修改后的作品時(shí)也必須遵照與本書相同的約定。
請(qǐng)?jiān)L問創(chuàng)作公用約定的網(wǎng)站瀏覽約定全文,或者查看一個(gè)簡(jiǎn)單易懂的約定描述。那里還有一個(gè)連環(huán)畫似的約定條款的解釋。
我盡了很大的力讓這本書即生動(dòng)又盡可能的準(zhǔn)確。然而,如果你找到任何不太令你滿意的地方或者錯(cuò)誤,或者是需要改進(jìn)的地方,請(qǐng)告訴我以便我改正它們。你可以把它們通過 swaroop@byteofpython.info 發(fā)送給我。
有兩種方式構(gòu)建軟件設(shè)計(jì):一種是把軟件做得很簡(jiǎn)單以至于明顯找不到缺陷;另一種是把它做得很復(fù)雜以至于找不到明顯的缺陷。
——C.A.R. Hoare
獲得人生中的成功需要的專注與堅(jiān)持不懈多過天才與機(jī)會(huì)。
——C.W. Wendte