Effective Python:編寫高質(zhì)量python代碼的59個(gè)有效方法是一本python編輯手冊,由美國程序員布雷特·斯拉特金編著。本書以使用場景為主導(dǎo)的精練教學(xué)方式,匯聚了59條優(yōu)秀的實(shí)踐原則、開發(fā)技巧和便捷方案,并以實(shí)用的代碼范例來解釋它們。其核心內(nèi)容包括涵蓋Python 3.x及Python 2.x主要應(yīng)用領(lǐng)域的實(shí)用指南、如何準(zhǔn)確地表達(dá)類與對(duì)象的行為、更為高效的并發(fā)及并行方式、與Python內(nèi)置模塊相關(guān)的編程技巧和習(xí)慣用法、多人協(xié)作時(shí)所用的開發(fā)工具和實(shí)踐方式等等,通過學(xué)習(xí),讀者可以了解到解決關(guān)鍵編程任務(wù)所用的佳方式,并學(xué)會(huì)編寫易于理解、便于維護(hù)且利于改進(jìn)的代碼,歡迎免費(fèi)下載閱讀。
內(nèi)容介紹
《Effective Python:編寫高質(zhì)量python代碼的59個(gè)有效方法》涵蓋的內(nèi)容本書每一章都包含許多互相關(guān)聯(lián)的條目,大家可以按照自己的需要,隨意閱讀這些條目。每個(gè)條目都包含簡明而具體的教程,告訴你應(yīng)該如何更高效地編寫Python程序。筆者在每個(gè)條目里面都給出了建議,告訴大家應(yīng)該怎樣做、應(yīng)該避免哪些用法,以及如何在各種做法之間求得平衡,并解釋了筆者所選的做法好在哪里。
本書中的各項(xiàng)條目,適用于Python 3和Python 2(請(qǐng)參閱本書第1條)。對(duì)于Jython、IronPython或PyPy等其他運(yùn)行時(shí)環(huán)境,大部分條目應(yīng)該同樣適用。
第1章:用Pythonic方式來思考Python開發(fā)者用Pythonic這個(gè)形容詞來描述具有特定風(fēng)格的代碼。這種風(fēng)格是大家在使用Python語言進(jìn)行編程并相互協(xié)作的過程中逐漸形成的習(xí)慣。本章講解如何以該風(fēng)格來完成常見的Python編程工作。
第2章:函數(shù)Python中的函數(shù)具備多種特性,這可以簡化編程工作。Python函數(shù)的某些性質(zhì)與其他編程語言中的函數(shù)相似,但也有些性質(zhì)是Python獨(dú)有的。本章介紹如何用函數(shù)來表達(dá)意圖、提升可復(fù)用程度,并減少bug。
第3章:類與繼承Python是面向?qū)ο蟮恼Z言。用Python編程時(shí),通常需要編寫新類,并定義這些類應(yīng)該如何通過其接口及繼承體系與外界相交互。本章講解如何使用類和繼承來表達(dá)對(duì)象所應(yīng)具備的行為。
第4章:元類及屬性元類(metaclass)及動(dòng)態(tài)屬性(dynamic attribute)都是很強(qiáng)大的Python特性,然而它們也可能導(dǎo)致極其古怪、極其突然的行為。本章講解這些機(jī)制的常見用法,以確保讀者寫出來的代碼符合最小驚訝原則(rule of least surprise)。
第5章:并發(fā)及并行用Python很容易就能寫出并發(fā)程序,這種程序可以在同一時(shí)間做許多件不同的事情。我們也可以通過系統(tǒng)調(diào)用、子進(jìn)程(subprocess)及C語言擴(kuò)展來實(shí)現(xiàn)并行處理。本章講解如何在不同情況下充分利用這些Python特性。
第6章:內(nèi)置模塊Python預(yù)裝了許多寫程序時(shí)會(huì)用到的重要模塊。這些標(biāo)準(zhǔn)軟件包與通常意義上的Python語言聯(lián)系得非常緊密,我們可以將其當(dāng)成語言規(guī)范的一部分。本章將會(huì)講解基本的內(nèi)置模塊。
第7章:協(xié)作開發(fā)如果許多人要開發(fā)同一個(gè)Python程序,那就得仔細(xì)商量代碼的寫法了。即便你是一個(gè)人開發(fā),也需要理解其他人所寫的模塊。本章講解多人協(xié)作開發(fā)Python程序時(shí)所用的標(biāo)準(zhǔn)工具及最佳做法。
第8章:部署Python提供了一些工具,使我們可以把軟件部署到不同的環(huán)境中。它也提供了一些模塊,令開發(fā)者可以把程序編寫得更加健壯。本章講解如何使用Python調(diào)試、優(yōu)化并測試程序,以提升其質(zhì)量與性能。
effective python章節(jié)目錄
本書贊譽(yù) 譯者序 前 言 致 謝 第1章 用Pythonic方式來思考 1 第1條:確認(rèn)自己所用的Python版本 1 第2條:遵循PEP 8風(fēng)格指南 3 第3條:了解bytes、str與unicode的區(qū)別 5 第4條:用輔助函數(shù)來取代復(fù)雜的表達(dá)式 8 第5條:了解切割序列的辦法 10 第6條:在單次切片操作內(nèi),不要同時(shí)指定start、end和stride 13 第7條:用列表推導(dǎo)來取代map和f?ilter 15 第8條:不要使用含有兩個(gè)以上表達(dá)式的列表推導(dǎo) 16 第9條:用生成器表達(dá)式來改寫數(shù)據(jù)量較大的列表推導(dǎo) 18 第10條:盡量用enumerate取代range 20 第11條:用zip函數(shù)同時(shí)遍歷兩個(gè)迭代器 21 第12條:不要在for和while循環(huán)后面寫else塊 23 第13條:合理利用try/except/else/f?inally結(jié)構(gòu)中的每個(gè)代碼塊 25 第2章 函數(shù) 28 第14條:盡量用異常來表示特殊情況,而不要返回None 28 第15條:了解如何在閉包里使用外圍作用域中的變量 30 第16條:考慮用生成器來改寫直接返回列表的函數(shù) 35 第17條:在參數(shù)上面迭代時(shí),要多加小心 37 第18條:用數(shù)量可變的位置參數(shù)減少視覺雜訊 41 第19條:用關(guān)鍵字參數(shù)來表達(dá)可選的行為 43 第20條:用None和文檔字符串來描述具有動(dòng)態(tài)默認(rèn)值的參數(shù) 46 第21條:用只能以關(guān)鍵字形式指定的參數(shù)來確保代碼明晰 49 第3章 類與繼承 53 第22條:盡量用輔助類來維護(hù)程序的狀態(tài),而不要用字典和元組 53 第23條:簡單的接口應(yīng)該接受函數(shù),而不是類的實(shí)例 58 第24條:以@classmethod形式的多態(tài)去通用地構(gòu)建對(duì)象 62 第25條:用super初始化父類 67 第26條:只在使用Mix-in組件制作工具類時(shí)進(jìn)行多重繼承 71 第27條:多用public屬性,少用private屬性 75 第28條:繼承collections.abc以實(shí)現(xiàn)自定義的容器類型 79 第4章 元類及屬性 84 第29條:用純屬性取代get和set方法 84 第30條:考慮用@property來代替屬性重構(gòu) 88 第31條:用描述符來改寫需要復(fù)用的@property方法 92 第32條:用__getattr__、__getattribute__和__setattr__實(shí)現(xiàn)按需生成的屬性 97 第33條:用元類來驗(yàn)證子類 102 第34條:用元類來注冊子類 104 第35條:用元類來注解類的屬性 108 第5章 并發(fā)及并行 112 第36條:用subprocess模塊來管理子進(jìn)程 113 第37條:可以用線程來執(zhí)行阻塞式I/O,但不要用它做平行計(jì)算 117 第38條:在線程中使用Lock來防止數(shù)據(jù)競爭 121 第39條:用Queue來協(xié)調(diào)各線程之間的工作 124 第40條:考慮用協(xié)程來并發(fā)地運(yùn)行多個(gè)函數(shù) 131 第41條:考慮用concurrent.futures來實(shí)現(xiàn)真正的平行計(jì)算 141 第6章 內(nèi)置模塊 145 第42條:用functools.wraps定義函數(shù)修飾器 145 第43條:考慮以contextlib和with語句來改寫可復(fù)用的try/f?inally代碼 148 第44條:用copyreg實(shí)現(xiàn)可靠的pickle操作 151 第45條:應(yīng)該用datetime模塊來處理本地時(shí)間,而不是用time模塊 157 第46條:使用內(nèi)置算法與數(shù)據(jù)結(jié)構(gòu) 161 第47條:在重視精確度的場合,應(yīng)該使用decimal 166 第48條:學(xué)會(huì)安裝由Python開發(fā)者社區(qū)所構(gòu)建的模塊 168 第7章 協(xié)作開發(fā) 170 第49條:為每個(gè)函數(shù)、類和模塊編寫文檔字符串 170 第50條:用包來安排模塊,并提供穩(wěn)固的API 174 第51條:為自編的模塊定義根異常,以便將調(diào)用者與API相隔離 179 第52條:用適當(dāng)?shù)姆绞酱蚱蒲h(huán)依賴關(guān)系 182 第53條:用虛擬環(huán)境隔離項(xiàng)目,并重建其依賴關(guān)系 187 第8章 部署 193 第54條:考慮用模塊級(jí)別的代碼來配置不同的部署環(huán)境 193 第55條:通過repr字符串來輸出調(diào)試信息 195 第56條:用unittest來測試全部代碼 198 第57條:考慮用pdb實(shí)現(xiàn)交互調(diào)試 201 第58條:先分析性能,然后再優(yōu)化 203 第59條:用tracemalloc來掌握內(nèi)存的使用及泄漏情況 208
使用說明
1、下載并解壓,得出pdf文件
2、如果打不開本文件,請(qǐng)務(wù)必下載pdf閱讀器
3、安裝后,在打開解壓得出的pdf文件
4、雙擊進(jìn)行閱讀
- 下載地址
- 本地下載通道:
- 浙江電信下載
- 北京聯(lián)通下載
- 江蘇電信下載
- 廣東電信下載
有問題? 點(diǎn)此報(bào)錯(cuò)
發(fā)表評(píng)論
1人參與,1條評(píng)論- 第1樓湖南省長沙市電信網(wǎng)友發(fā)表于: 2019-03-06 14:20:14
- 非常好0蓋樓(回復(fù))
軟件排行榜
熱門推薦
有柿電腦版 v11.8.8119.89M / 簡體中文
開源閱讀電腦版 v3.25.04081211.9M / 簡體中文
瀟湘書院電腦版 v2.3.13.91049.58M / 簡體中文
cnki全球?qū)W術(shù)快報(bào)電腦版 v1.0.4104.49M / 簡體中文
網(wǎng)易云閱讀電腦版 v6.7.226.41M / 簡體中文
京東讀書電腦版 v1.13.4官方版2.13M / 簡體中文
吉利博瑞用戶手冊 pdf高清版57.89M / 簡體中文
未公開的Oracle數(shù)據(jù)庫秘密 迪貝斯pdf掃描版34.69M / 簡體中文
PHP語言精粹電子書 pdf掃描版25.72M / 簡體中文
C++黑客編程揭秘與防范第2版 冀云pdf掃描版54.58M / 簡體中文