前言

2018-02-24 15:26 更新

項(xiàng)目主頁

https://github.com/yidao620c/python3-cookbook

譯者的話

人生苦短,我用Python!

譯者一直堅(jiān)持使用Python3,因?yàn)樗砹薖ython的未來。雖然向后兼容是它的硬傷,但是這個局面遲早會改變的,而且Python3的未來需要每個人的幫助和支持。目前市面上的教程書籍,網(wǎng)上的手冊大部分基本都是2.x系列的,專門基于3.x系列的書籍少的可憐。

最近看到一本《Python Cookbook》3rd Edition,完全基于Python3,寫的也很不錯。為了Python3的普及,我也不自量力,想做點(diǎn)什么事情。于是乎,就有了翻譯這本書的沖動了!這不是一項(xiàng)輕松的工作,卻是一件值得做的工作:不僅方便了別人,而且對自己翻譯能力也是一種鍛煉和提升。

譯者會堅(jiān)持對自己每一句的翻譯負(fù)責(zé),力求高質(zhì)量。但受能力限制,也難免有疏漏或者表意不當(dāng)?shù)牡胤健H绻g文中有什么錯漏的地方請大家見諒,也歡迎大家隨時指正: yidao620@gmail.com

作者的話

自從2008年以來,Python3橫空出世并慢慢進(jìn)化。Python3的流行一直被認(rèn)為需要很長一段時間。事實(shí)上,到我寫這本書的2013年,絕大部分的Python程序員仍然在生產(chǎn)環(huán)境中使用的是版本2系列,最主要是因?yàn)镻ython3不向后兼容。毫無疑問,對于工作在遺留代碼上的每個程序員來講,向后兼容是不得不考慮的問題。但是放眼未來,你就會發(fā)現(xiàn)Python3給你帶來不一樣的驚喜。

正如Python3代表未來一樣,新的《Python Cookbook》版本相比較之前的版本有了一個全新的改變。最重要的是,這個意味著本書是一本非常前沿的參考書。書中所有代碼都是在Python3.3版本下面編寫和測試的,并沒有考慮之前老版本的兼容性,也沒有標(biāo)注舊版本下的解決方案。這樣子可能會有爭議,但是我們最終的目的是寫一本完全基于最新最先進(jìn)工具和語言的書籍。希望這本書能成為在Python3下編碼和想升級之前遺留代碼的程序員的優(yōu)秀教程。

毫無疑問,編寫一本這樣的書會冒一定的編輯風(fēng)險。如果在網(wǎng)上搜索Python教程的話,會搜到很多很多。比如ActiveState’s Python recipes或者Stack Overflow,但是絕大部分都已經(jīng)是過時的了。這些教程除了是基于Python2編寫之外,可能還有很多解決方案在不同的版本之間是不一樣的(比如2.3和2.4版本)。另外,它們還會經(jīng)常使用一些過時的技術(shù),這些已經(jīng)內(nèi)置到Python3.3里面去了。尋找完全基于Python3的教程真的難上加難啊。

這本書的所有主題都是基于已經(jīng)存在的代碼和技術(shù),而不是專門去尋找Python3特有的教程。在原有代碼基礎(chǔ)上,我們完全使用最新的Python技術(shù)去改造。所以,任何想使用最新技術(shù)編寫代碼的程序員,都可以將本書當(dāng)做一本很好的參考書籍。

在討論的主題選擇方面,我們不可能囊括Python領(lǐng)域所有的東西。因此,我們優(yōu)先選擇了Python語言核心部分,以及一些在開發(fā)中常見的問題和任務(wù)。另外,這里討論的很多技術(shù)都是Python 3最新才出現(xiàn)的,所以如果工作在Python老版本下,即便是最有經(jīng)驗(yàn)的程序員可能之前也沒見過這些東西。另外,這些示例程序也會偏向于展示一些有用的編程技術(shù)(比如設(shè)計(jì)模式),而不是僅僅定位在一些具體的問題上。盡管也提及到了有一些第三方包,但是本書主要定位在Python語言核心和標(biāo)準(zhǔn)庫。

這本書適合誰

這本書的目標(biāo)讀者是那些想深入理解Python語言機(jī)制和最新編程技能的資深程序員。很多討論都是標(biāo)準(zhǔn)庫,框架和應(yīng)用程序使用到的高級技術(shù)。本書所有示例均假設(shè)讀者已經(jīng)有了一定的編程背景并且可以很容易的讀懂相關(guān)主題(比如基本的計(jì)算機(jī)科學(xué)知識,數(shù)據(jù)結(jié)構(gòu)知識,算法復(fù)雜度,系統(tǒng)編程,并行,C語言編程等)。另外,每個示例都只是一個入門指導(dǎo),如果讀者想深入研究,需要自己去查閱更多資料。因此,我們假定讀者可以很熟練的使用搜索引擎以及知道怎樣查詢在線的Python文檔。

這本書不適合Python的初學(xué)者。事實(shí)上,本書已經(jīng)假定了讀者已經(jīng)有了一定的Python基礎(chǔ),看完過幾本入門書籍。本書也不是那種快速參考手冊(可以很快的查詢某個模塊下的某個函數(shù))。本書旨在聚焦幾個最重要的主題,演示幾種可能的解決方案,作為一個跳板,你可以經(jīng)此進(jìn)入一些更高級的主題,這些可以在網(wǎng)上或者參考手冊中找到。

本書示例代碼

本書幾乎所有源代碼均可以在 http://github.com/dabeaz/python-cookbook 上面找到。作者歡迎各位修正bug,改進(jìn)代碼和評論。

本書就是幫助你完成你的工作。一般來講,只要在本書上面的實(shí)例代碼,你都可以隨時拿過去在你的源碼和文檔中使用。你不需要向我們申請?jiān)S可,除非你抄襲的太過分了。比如說復(fù)制幾個代碼片段去完成一個程序是不需要許可的,販賣或者分發(fā)實(shí)例代碼的光盤也不需要許可,引用本書和實(shí)例代碼去網(wǎng)上回答一個問題也不需要許可。但是,合并大量的代碼帶你的正式產(chǎn)品或文檔中去必須得到我們的許可。

我們不會要求你添加代碼的出處,包括標(biāo)題,作者,出版社,ISBN。比如:Python Cookbook, 3rd edition, by David Beazley and Brian K. Jones (O’Reilly).Copyright 2013 David Beazley and Brian Jones, 978-1-449-34037-7.但是如果你這么做了,我們會很感激的。

聯(lián)系我們

請將關(guān)于本書的評論和問題發(fā)送給出版社:

O’Reilly Media, Inc.

1005 Gravenstein Highway North

Sebastopol, CA 95472

800-998-9938 (in the United States or Canada)

707-829-0515 (international or local)

707-829-0104 (fax)

本書網(wǎng)站: http://oreil.ly/python_cookbook_3e ,上面有勘誤表,示例和一些其他信息。

如果想要評論或者是問一下本書技術(shù)方面的問題, 請發(fā)送郵件至: bookquestions@oreilly.com

更多關(guān)于我們的書籍,討論會,新聞, 請?jiān)L問我們的網(wǎng)站: http://www.oreilly.com

在Facebook上查找我們: http://facebook.com/oreilly

在Twitter上關(guān)注我們: http://twitter.com/oreillymedia

在YouTube上觀看我們: http://www.youtube.com/oreillymedia

感謝

我們由衷的感謝本書的技術(shù)審核者Jake Vanderplas, Robert Kern 和 Andrea Crotti的非常有有用的評論和建議,還有Python社區(qū)的幫助和鼓勵。我們還想感謝上一個版本的編輯Jake Vanderplas, Robert Kern,and Andrea Crotti。盡管這個版本是最新的,但是前一個版本已經(jīng)提供了一個感興趣主題和解決方案的框架。最后,最最重要的就是,我們要感謝所有預(yù)覽版本的讀者,他們的評論和改進(jìn)意見對本書很有幫助。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號