Python Cookbook前言

作者:【美】 David Beazley & Brian K Jones

譯者:陳舸

出版:人民郵電出版社(2015年2月第1版 2015年2月北京第1次印刷)

原版:O’REILLY

一、內(nèi)容提要

本書介紹了 Python應(yīng)用在各個(gè)領(lǐng)域中的一些使用技巧和方法,其主題涵蓋了數(shù)據(jù)結(jié)構(gòu)和算法昌阿、字符串和文本、數(shù)字阿蝶、日期和時(shí)間,迭代器和生成器黄绩,文件和1/0,數(shù)據(jù)編碼與處理羡洁,函數(shù),類與對(duì)象宝与,元編程焚廊,模塊和包,網(wǎng)絡(luò)和Web編程习劫,并發(fā),實(shí)用腳本和系統(tǒng)管理嚼隘,測試诽里、調(diào)試以及異常,C語言擴(kuò)展等飞蛹。

本書覆蓋了 Python應(yīng)用中的很多常見問題谤狡,并提出了通用的解決方案。書中包含了大量實(shí)用的編程技巧和示例代碼卧檐,并在Python 3.3環(huán)境下進(jìn)行了測試墓懂,可以很方便地應(yīng)用到實(shí)際項(xiàng)目中去。此外霉囚,本書還詳細(xì)講解了解決方案是如何工作的捕仔,以及為什么能夠 工作。

本書非常適合具有一定編程基礎(chǔ)的Python程序員閱讀參考盈罐。

二榜跌、O’Reilly Media,Inc.介紹

O’Reilly Media通過圖書盅粪、雜志钓葫、在線服務(wù)、調(diào)查研究和會(huì)議等方式傳播創(chuàng)新知識(shí)票顾。 自1978年開始础浮,O’Reilly—直都是前沿發(fā)展的見證者和推動(dòng)者帆调。超級(jí)極客們正在開創(chuàng)著未來,而我們關(guān)注真正重要的技術(shù)趨勢——通過放大那些“細(xì)微的信號(hào)”來刺激社會(huì)對(duì)新科技的應(yīng)用豆同。作為技術(shù)社區(qū)中活躍的參與者番刊,O’Reilly的發(fā)展充滿了對(duì)創(chuàng)新的倡導(dǎo)、創(chuàng)造和發(fā)揚(yáng)光大诱告。

O’Reilly為軟件開發(fā)人員帶來革命性的“動(dòng)物書”撵枢;創(chuàng)建第一個(gè)商業(yè)網(wǎng)站(GNN);組織了影響深遠(yuǎn)的開放源代碼峰會(huì),以至于開源軟件運(yùn)動(dòng)以此命名精居;創(chuàng)立了Make雜志锄禽,從而成為DIY革命的主要先鋒;公司一如既往地通過多種形式締結(jié)信息與人的紐帶靴姿。 O’Reilly的會(huì)議和峰會(huì)集聚了眾多超級(jí)極客和高瞻遠(yuǎn)矚的商業(yè)領(lǐng)袖沃但,共同描繪出開創(chuàng) 新產(chǎn)業(yè)的革命性思想。作為技術(shù)人士獲取信息的選擇佛吓,O’Reilly現(xiàn)在還將先鋒專家的知識(shí)傳遞給普通的計(jì)算機(jī)用戶宵晚。無論是通過書籍出版,在線服務(wù)或者面授課程维雇,每一項(xiàng)O’Reilly的產(chǎn)品都反映了公司不可動(dòng)搖的理念——信息是激發(fā)創(chuàng)新的力量淤刃。

三、前言

自2008年以來吱型,我們已經(jīng)目睹了整個(gè)Python世界正緩慢向著Python 3進(jìn)化的事實(shí)逸贾。眾所周知,完全接納Python 3要花很長的時(shí)間津滞。事實(shí)上铝侵,就在寫作本書時(shí)(2013年),大多數(shù)Python程序員仍然堅(jiān)持在生產(chǎn)環(huán)境中使用Python 2触徐。關(guān)于Python 3不能向后兼容的事實(shí)也已經(jīng)做了許多努力來補(bǔ)救咪鲜。的確,向后兼容性對(duì)于任何已經(jīng)存在的代碼庫來說是個(gè)問題撞鹉。但是疟丙,如果你著眼于未來,你會(huì)發(fā)現(xiàn)Python 3帶來的好處絕非那么簡單孔祸。

正因?yàn)镻ython 3是著眼于未來的隆敢,本書在之前的版本上做了很大程度的修改。首先也是最重要的一點(diǎn)崔慧,這是一本積極擁抱Python 3的書拂蝎。所有的章節(jié)都采用Python 3.3來 編寫并進(jìn)行了驗(yàn)證,沒有考慮老的Python版本或者“老式”的實(shí)現(xiàn)方式惶室。事實(shí)上温自,許多章節(jié)都只適用于Python 3.3甚至更高的版本玄货。這么做可能會(huì)有風(fēng)險(xiǎn),但是最終的目的是要編寫一本Python 3的秘籍悼泌,盡可能基于最先進(jìn)的工具和慣用法松捉。我們希望本書可以指導(dǎo)人們用Python 3編寫新的代碼,或者幫助開發(fā)人員將已有的代碼升級(jí)到 Python 3馆里。

無需贅言隘世,以這種風(fēng)格來編寫本書給編輯工作帶來了一定的挑戰(zhàn)。只要在網(wǎng)絡(luò)上搜索一下Python秘籍鸠踪,立刻就能在ActiveState的Python版塊或者Stack Overflow這樣的站點(diǎn)上找到數(shù)以千計(jì)的使用心得和秘籍丙者。但是,大部分這類資源已經(jīng)沉浸在歷史和過去中了营密。由于這些心得和秘籍幾乎完全是針對(duì)Python 2所寫的械媒,其中常常包含有各種針對(duì)Python不同版本(例如2.3版對(duì)比2.4版)之間差異的變通方法和技巧。此外评汰,這些網(wǎng)上資源常常使用過時(shí)的技術(shù)纷捞,而這些技術(shù)現(xiàn)在成了Python 3.3的內(nèi)建功能。想尋找專門針對(duì)Python 3的資源會(huì)比較困難被去。

本書并非搜尋特定于Python 3方面的秘籍將其匯集而成主儡,本書的主題都是在創(chuàng)作中由現(xiàn)有的代碼和技術(shù)而產(chǎn)生出的靈感。我們將這些思想作為跳板惨缆,盡可能采用最現(xiàn)代化的Python編程技術(shù)來寫作缀辩,因此本書的內(nèi)容完全是原創(chuàng)性的。對(duì)于任何希望以現(xiàn)代 化的風(fēng)格來編寫代碼的人踪央,本書都可以作為參考手冊(cè)。

在選擇應(yīng)該包含哪些章節(jié)時(shí)瓢阴,我們有一個(gè)共識(shí)畅蹂。那就是根本不可能編寫一本涵蓋了每種Python用途的書。因此荣恐,我們?cè)谥黝}上優(yōu)先考慮Python語言核心方面的內(nèi)容液斜,以及能夠廣泛適用于各種應(yīng)用領(lǐng)域的常見任務(wù)。此外叠穆,有許多秘籍是用來說明在Python 3中新增的功能少漆,這對(duì)許多人來說比較陌生,甚至對(duì)于那些使用老版Python經(jīng)驗(yàn)豐富的程序員也是如此硼被。我們也會(huì)優(yōu)先選擇普遍適用的編程技術(shù)(即示损,編程模式)作為主題,而不會(huì)選擇那些試圖解決一個(gè)非常具體的實(shí)際問題但適用范圍太窄的內(nèi)容嚷硫。盡管在部分章節(jié)中也提到了特定的第三方軟件包检访,但本書絕大多數(shù)章節(jié)都只關(guān)注語言核心和標(biāo)準(zhǔn)庫始鱼。

四、本書適合誰

本書的目標(biāo)讀者是希望加深對(duì)Python語言的理解以及學(xué)習(xí)現(xiàn)代化編程慣用法的有經(jīng)驗(yàn)的程序員脆贵。本書許多內(nèi)容把重點(diǎn)放在庫医清、框架和應(yīng)用中使用的高級(jí)技術(shù)上。本書假設(shè)讀者已經(jīng)有了理解本書主題的必要背景知識(shí)(例如對(duì)計(jì)算機(jī)科學(xué)的一般性知識(shí)卖氨、數(shù)據(jù) 結(jié)構(gòu)会烙、復(fù)雜度計(jì)算、系統(tǒng)編程筒捺、并發(fā)柏腻、C語言編程等)。此外焙矛,本書中提到的秘籍往往只是一個(gè)框架葫盼,意在提供必要的信息讓讀者可以起步,但是需要讀者自己做更多的研究來填補(bǔ)其中的細(xì)節(jié)村斟。因此贫导,我們假設(shè)讀者知道如何使用搜索引擎以及優(yōu)秀的Python 在線文檔。

有一些更加高級(jí)的章節(jié)將作為讀者耐心閱讀的獎(jiǎng)勵(lì)蟆盹。這些章節(jié)對(duì)于理解Python底層的工作原理提供了深刻的見解孩灯。你將學(xué)到新的技巧和技術(shù),可以將這些知識(shí)運(yùn)用到自己的代碼中去逾滥。

五峰档、本書不適合誰

這不是一本用來給初學(xué)者首次學(xué)習(xí)Python編程而使用的書。事實(shí)上寨昙,本書已經(jīng)假設(shè)讀者通過Python教程或者人門書籍了解了基本知識(shí)猜年。本書同樣不能用來作為快速參考手冊(cè)(即哼审,快速查詢特定模塊中的某個(gè)函數(shù))。相反,本書的目標(biāo)是把重點(diǎn)放在特定的編程主題上四瘫,展示可能的解決方案并以此作為跳板引導(dǎo)讀者學(xué)習(xí)更加高級(jí)的內(nèi)容逼友。這些內(nèi)容你可能會(huì)在網(wǎng)上或者參考書中遇到過揉稚。

六卫键、在線代碼示例

本書中幾乎所有的代碼示例都可以在http://github.com/dabeaz/python-cookbook上找到。 作者歡迎讀者針對(duì)代碼示例提供bug修正缆巧、改進(jìn)以及評(píng)論布持。

七、使用代碼示例

本書的目的是為了幫助讀者完成工作陕悬。一般而言题暖,你可以在你的程序和文檔中使用本書中的代碼,而且也沒有必要取得我們的許可。但是芙委,如果你要復(fù)制的是核心代碼逞敷,則需要和我們打個(gè)招呼。例如灌侣,你可以在無需獲取我們?cè)S可的情況下推捐,在程序中使用本書中的多個(gè)代碼塊。但是侧啼,銷售或分發(fā)O’ Reilly圖書中的代碼光盤則需要取得我們的許可牛柒。通過引用本書中的示例代碼來回答問題時(shí),不需要事先獲得我們的許可痊乾。但是皮壁,如果你的產(chǎn)品文檔中融合了本書中的大量示例代碼,則需要取得我們的許可哪审。

在引用本書中的代碼示例時(shí)蛾魄,如果能列出本書的屬性信息是最好不過。一個(gè)屬性信息通常包括書名湿滓、作者滴须、出版社和ISBN。例如:Python Cookbook, 3rd edtion, by David Beazley and Brain K.Jones(O’Reilly)叽奥。Copyright 2013 David Beazley and Brain Jones, 978-1-449-34037-70

在使用書中的代碼時(shí)扔水,如果不確定是否屬于正常使用,或是否超出了我們的許可朝氓,請(qǐng)通過 permissions@oreilly.com 與我們聯(lián)系魔市。

八、聯(lián)系方式

如果你想就本書發(fā)表評(píng)論或有任何疑問赵哲,敬請(qǐng)聯(lián)系出版社待德。

美國:

O’Reilly Media Inc.

1005 Gravenstein Highway North Sebastopol, CA 95472

中國:

北京市西城區(qū)西直門南大街2號(hào)成銘大廈C座807室(100035)

奧萊利技術(shù)咨詢(北京)有限公司

我們還為本書建立了一個(gè)網(wǎng)頁,其中包含了勘誤表枫夺、示例和其他額外的信息磅网。你可以通過鏈接 http://oreil.ly/python_cookbook_3e來訪問頁面。

關(guān)于本書的技術(shù)性問題或建議筷屡,請(qǐng)發(fā)郵件到:

bookquestions@oreilly.com

歡迎登錄我們的網(wǎng)站(http://www.oreilly.com),查看更多我們的書籍簸喂、課程毙死、會(huì)議和最新動(dòng)態(tài)等信息。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末喻鳄,一起剝皮案震驚了整個(gè)濱河市扼倘,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖再菊,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件爪喘,死亡現(xiàn)場離奇詭異,居然都是意外死亡纠拔,警方通過查閱死者的電腦和手機(jī)秉剑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來稠诲,“玉大人侦鹏,你說我怎么就攤上這事⊥涡穑” “怎么了略水?”我有些...
    開封第一講書人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵,是天一觀的道長劝萤。 經(jīng)常有香客問我渊涝,道長,這世上最難降的妖魔是什么床嫌? 我笑而不...
    開封第一講書人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任跨释,我火速辦了婚禮,結(jié)果婚禮上既鞠,老公的妹妹穿的比我還像新娘煤傍。我一直安慰自己,他們只是感情好嘱蛋,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開白布蚯姆。 她就那樣靜靜地躺著,像睡著了一般洒敏。 火紅的嫁衣襯著肌膚如雪龄恋。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評(píng)論 1 290
  • 那天凶伙,我揣著相機(jī)與錄音郭毕,去河邊找鬼。 笑死函荣,一個(gè)胖子當(dāng)著我的面吹牛显押,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播傻挂,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼乘碑,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了金拒?” 一聲冷哼從身側(cè)響起兽肤,我...
    開封第一講書人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后资铡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體电禀,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年笤休,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了尖飞。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡宛官,死狀恐怖葫松,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情底洗,我是刑警寧澤腋么,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站亥揖,受9級(jí)特大地震影響珊擂,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜费变,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一摧扇、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧挚歧,春花似錦扛稽、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至矮慕,卻和暖如春帮匾,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背痴鳄。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來泰國打工瘟斜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人痪寻。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓螺句,卻偏偏與公主長得像,于是被迫代替她去往敵國和親橡类。 傳聞我的和親對(duì)象是個(gè)殘疾皇子壹蔓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容