編寫(xiě)高質(zhì)量代碼改善python程序的91個(gè)建議是一本Python程序代碼編輯指南,由張穎和賴(lài)勇浩兩人共同編著。本書(shū)將為你編寫(xiě)健壯、優(yōu)雅、高質(zhì)量的Python代碼提供切實(shí)幫助!內(nèi)容全部由Python編碼的實(shí)踐組成,從基本原則、慣用法、語(yǔ)法、庫(kù)、設(shè)計(jì)模式、內(nèi)部機(jī)制、開(kāi)發(fā)工具和性能優(yōu)化8個(gè)方面深入探討了編寫(xiě)高質(zhì)量Python代碼的技巧與禁忌,一共總結(jié)出91條寶貴的建議。全書(shū)嘗試著從基本原則、慣用法、語(yǔ)法、庫(kù)、設(shè)計(jì)模式、內(nèi)部機(jī)制、開(kāi)發(fā)工具和性能優(yōu)化8方面深入探討編寫(xiě)高質(zhì)量Python代碼的技巧、禁忌和佳實(shí)踐,能夠適用于有一定的Python基礎(chǔ),希望通過(guò)項(xiàng)目最佳實(shí)踐來(lái)提升自己的相關(guān)Python人員。
內(nèi)容介紹
《編寫(xiě)高質(zhì)量代碼改善python程序的91個(gè)建議》針對(duì)每個(gè)問(wèn)題所選擇的應(yīng)用場(chǎng)景都非常典型,給出的建議也都與實(shí)踐緊密結(jié)合。書(shū)中的每一條建議都可能在你的下一行代碼、下一個(gè)應(yīng)用或下一個(gè)項(xiàng)目中顯露鋒芒。建議你將本書(shū)擱置在手邊,隨時(shí)查閱,相信這么做一定能使你的學(xué)習(xí)和開(kāi)發(fā)工作事半功倍。
本書(shū)分為8章,主要從編程慣用法、基礎(chǔ)語(yǔ)法、庫(kù)、設(shè)計(jì)模式、內(nèi)部機(jī)制、開(kāi)發(fā)工具、性能剖析與優(yōu)化等方面解讀如何編寫(xiě)高質(zhì)量的Python程序。每個(gè)章節(jié)的內(nèi)容都以建議的形式呈現(xiàn),這些建議或源于實(shí)際項(xiàng)目應(yīng)用經(jīng)驗(yàn),或源于對(duì)Python本質(zhì)的理解和探討,或源于社區(qū)推薦的做法。它們能夠幫助讀者快速完成從入門(mén)到進(jìn)階的這個(gè)過(guò)程。由于各個(gè)章節(jié)相對(duì)獨(dú)立,因此無(wú)須花費(fèi)整段的時(shí)間從頭開(kāi)始閱讀。你可以在空閑的時(shí)候選取任意感興趣的小節(jié)閱讀。為了減輕讀者負(fù)擔(dān),本書(shū)代碼盡量保持完整,閱讀過(guò)程中無(wú)須額外下載其他相關(guān)代碼。
內(nèi)容介紹
前 言 第1章 引論 1 建議1:理解Pythonic概念 1 建議2:編寫(xiě)Pythonic代碼 5 建議3:理解Python與C語(yǔ)言的不同之處 8 建議4:在代碼中適當(dāng)添加注釋 10 建議5:通過(guò)適當(dāng)添加空行使代碼布局更為優(yōu)雅、合理 12 建議6:編寫(xiě)函數(shù)的4個(gè)原則 15 建議7:將常量集中到一個(gè)文件 18 第2章 編程慣用法 20 建議8:利用assert語(yǔ)句來(lái)發(fā)現(xiàn)問(wèn)題 20 建議9:數(shù)據(jù)交換值的時(shí)候不推薦使用中間變量 22 建議10:充分利用Lazy evaluation的特性 24 建議11:理解枚舉替代實(shí)現(xiàn)的缺陷 25 建議12:不推薦使用type來(lái)進(jìn)行類(lèi)型檢查 27 建議13:盡量轉(zhuǎn)換為浮點(diǎn)類(lèi)型后再做除法 29 建議14:警惕eval()的安全漏洞 31 建議15:使用enumerate()獲取序列迭代的索引和值 33 建議16:分清==與is的適用場(chǎng)景 35 建議17:考慮兼容性,盡可能使用Unicode 37 建議18:構(gòu)建合理的包層次來(lái)管理module 42 第3章 基礎(chǔ)語(yǔ)法 45 建議19:有節(jié)制地使用from…import語(yǔ)句 45 建議20:優(yōu)先使用absolute import來(lái)導(dǎo)入模塊 48 建議21:i+=1不等于++i 50 建議22:使用with自動(dòng)關(guān)閉資源 50 建議23:使用else子句簡(jiǎn)化循環(huán)(異常處理) 53 建議24:遵循異常處理的幾點(diǎn)基本原則 55 建議25:避免finally中可能發(fā)生的陷阱 59 建議26:深入理解None,正確判斷對(duì)象是否為空 60 建議27:連接字符串應(yīng)優(yōu)先使用join而不是+ 62 建議28:格式化字符串時(shí)盡量使用。format方式而不是% 64 建議29:區(qū)別對(duì)待可變對(duì)象和不可變對(duì)象 68 建議30:[]、()和{}:一致的容器初始化形式 71 建議31:記住函數(shù)傳參既不是傳值也不是傳引用 73 建議32:警惕默認(rèn)參數(shù)潛在的問(wèn)題 77 建議33:慎用變長(zhǎng)參數(shù) 78 建議34:深入理解str()和repr()的區(qū)別 80 建議35:分清staticmethod和classmethod的適用場(chǎng)景 82 第4章 庫(kù) 86 建議36:掌握字符串的基本用法 86 建議37:按需選擇sort()或者sorted() 89 建議38:使用copy模塊深拷貝對(duì)象 92 建議39:使用Counter進(jìn)行計(jì)數(shù)統(tǒng)計(jì) 95 建議40:深入掌握ConfigParser 97 建議41:使用argparse處理命令行參數(shù) 99 建議42:使用pandas處理大型CSV文件 103 建議43:一般情況使用ElementTree解析XML 107 建議44:理解模塊pickle優(yōu)劣 111 建議45:序列化的另一個(gè)不錯(cuò)的選擇——JSON 113 建議46:使用traceback獲取棧信息 116 建議47:使用logging記錄日志信息 119 建議48:使用threading模塊編寫(xiě)多線(xiàn)程程序 122 建議49:使用Queue使多線(xiàn)程編程更安全 125 第5章 設(shè)計(jì)模式 129 建議50:利用模塊實(shí)現(xiàn)單例模式 129 建議51:用mixin模式讓程序更加靈活 132 建議52:用發(fā)布訂閱模式實(shí)現(xiàn)松耦合 134 建議53:用狀態(tài)模式美化代碼 137 第6章 內(nèi)部機(jī)制 141 建議54:理解built-in objects 141 建議55:__init__()不是構(gòu)造方法 143 建議56:理解名字查找機(jī)制 147 建議57:為什么需要self參數(shù) 151 建議58:理解MRO與多繼承 154 建議59:理解描述符機(jī)制 157 建議60:區(qū)別__getattr__()和__getattribute__()方法 160 建議61:使用更為安全的property 164 建議62:掌握metaclass 169 建議63:熟悉Python對(duì)象協(xié)議 176 建議64:利用操作符重載實(shí)現(xiàn)中綴語(yǔ)法 179 建議65:熟悉 Python 的迭代器協(xié)議 181 建議66:熟悉 Python 的生成器 185 建議67:基于生成器的協(xié)程及greenlet 188 建議68:理解GIL的局限性 192 建議69:對(duì)象的管理與垃圾回收 194 第7章 使用工具輔助項(xiàng)目開(kāi)發(fā) 197 建議70:從PyPI安裝包 197 建議71:使用pip和yolk安裝、管理包 199 建議72:做paster創(chuàng)建包 202 建議73:理解單元測(cè)試概念 209 建議74:為包編寫(xiě)單元測(cè)試 212 建議75:利用測(cè)試驅(qū)動(dòng)開(kāi)發(fā)提高代碼的可測(cè)性 216 建議76:使用Pylint檢查代碼風(fēng)格 218 建議77:進(jìn)行高效的代碼審查 221 建議78:將包發(fā)布到PyPI 224 第8章 性能剖析與優(yōu)化 227 建議79:了解代碼優(yōu)化的基本原則 227 建議80:借助性能優(yōu)化工具 228 建議81:利用cProfile定位性能瓶頸 229 建議82:使用memory_profiler 和 objgraph 剖析內(nèi)存使用 235 建議83:努力降低算法復(fù)雜度 237 建議84:掌握循環(huán)優(yōu)化的基本技巧 238 建議85:使用生成器提高效率 240 建議86:使用不同的數(shù)據(jù)結(jié)構(gòu)優(yōu)化性能 243 建議87:充分利用set的優(yōu)勢(shì) 245 建議88:使用multiprocessing克服GIL的缺陷 248 建議89:使用線(xiàn)程池提高效率 254 建議90:使用C/C++模塊擴(kuò)展提高性能 257 建議91:使用 Cython 編寫(xiě)擴(kuò)展模塊 259
使用說(shuō)明
1、下載并解壓,得出pdf文件
2、如果打不開(kāi)本文件,請(qǐng)務(wù)必下載pdf閱讀器
3、安裝后,在打開(kāi)解壓得出的pdf文件
4、雙擊進(jìn)行閱讀
- 下載地址
- 本地下載通道:
- 浙江電信下載
- 北京聯(lián)通下載
- 江蘇電信下載
- 廣東電信下載
有問(wèn)題? 點(diǎn)此報(bào)錯(cuò)
發(fā)表評(píng)論
0條評(píng)論軟件排行榜
熱門(mén)推薦
- 得間免費(fèi)小說(shuō)電腦版 v5.3.0.372.58M / 簡(jiǎn)體中文
- 有柿電腦版 v11.6.284.23M / 簡(jiǎn)體中文
- 開(kāi)源閱讀電腦版 v3.2517.96M / 簡(jiǎn)體中文
- 瀟湘書(shū)院電腦版 v2.3.11.888官方版49.65M / 簡(jiǎn)體中文
- 數(shù)據(jù)挖掘?qū)д?官方版61.61M / 簡(jiǎn)體中文
- 吉利博瑞用戶(hù)手冊(cè) pdf高清版57.89M / 簡(jiǎn)體中文
- PHP語(yǔ)言精粹電子書(shū) pdf掃描版25.72M / 簡(jiǎn)體中文
- 本草綱目 5.34M / 簡(jiǎn)體中文
- docker入門(mén)實(shí)戰(zhàn) pdf完整版1.38M / 簡(jiǎn)體中文
- Scala程序設(shè)計(jì)第二版 pdf高清完整版15.83M / 簡(jiǎn)體中文