注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)程序設(shè)計(jì)綜合編寫高質(zhì)量代碼:改善Python程序的91個(gè)建議

編寫高質(zhì)量代碼:改善Python程序的91個(gè)建議

編寫高質(zhì)量代碼:改善Python程序的91個(gè)建議

定 價(jià):¥59.00

作 者: 張穎,賴勇浩 著
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 程序設(shè)計(jì) 計(jì)算機(jī)/網(wǎng)絡(luò)

ISBN: 9787111467045 出版時(shí)間: 2014-06-01 包裝: 平裝
開本: 16開 頁數(shù): 272 字?jǐn)?shù):  

內(nèi)容簡介

  在通往“Python技術(shù)殿堂”的路上,本書將為你編寫健壯、優(yōu)雅、高質(zhì)量的Python代碼提供切實(shí)幫助!內(nèi)容全部由Python編碼的最佳實(shí)踐組成,從基本原則、慣用法、語法、庫、設(shè)計(jì)模式、內(nèi)部機(jī)制、開發(fā)工具和性能優(yōu)化8個(gè)方面深入探討了編寫高質(zhì)量Python代碼的技巧與禁忌,一共總結(jié)出91條寶貴的建議。每條建議對應(yīng)Python程序員可能會(huì)遇到的一個(gè)問題。本書不僅以建議的方式從正反兩方面給出了被實(shí)踐證明為十分優(yōu)秀的解決方案或非常糟糕的解決方案,而且分析了問題產(chǎn)生的根源,會(huì)使人有一種醍醐灌頂?shù)母杏X,豁然開朗。《編寫高質(zhì)量代碼:改善Python程序的91個(gè)建議》針對每個(gè)問題所選擇的應(yīng)用場景都非常典型,給出的建議也都與實(shí)踐緊密結(jié)合。書中的每一條建議都可能在你的下一行代碼、下一個(gè)應(yīng)用或下一個(gè)項(xiàng)目中顯露鋒芒。建議你將本書擱置在手邊,隨時(shí)查閱,相信這么做一定能使你的學(xué)習(xí)和開發(fā)工作事半功倍。

作者簡介

  張穎,資深軟件開發(fā)工程師,精通Java、Python、Perl等技術(shù),以及多種腳本語言,有多年開發(fā)經(jīng)驗(yàn)。曾就職于阿爾卡特朗訊上海公司的LTE無線事業(yè)部,現(xiàn)就職于IBM CSTL,工作期間獲得過多種獎(jiǎng)勵(lì),并于2012年獲得一項(xiàng)云計(jì)算相關(guān)的專利。 賴勇浩,資深軟件開發(fā)工程師,自2006年起以編寫Python代碼為生,現(xiàn)已創(chuàng)業(yè)。在Python領(lǐng)域有深厚的積累,CSDN博客專家,博客瀏覽量超過200萬。也是珠三角技術(shù)沙龍創(chuàng)始人之一,從2009年起擔(dān)任沙龍組委,長年活躍在社區(qū)第一線,在國內(nèi)Python圈子里有較高的知名度和影響力。有超過7年的游戲開發(fā)經(jīng)驗(yàn),擅長Python、C++等網(wǎng)游相關(guān)的技術(shù),曾就職于網(wǎng)易等網(wǎng)游研發(fā)廠商;現(xiàn)專注于中國彩票事業(yè),開發(fā)互聯(lián)網(wǎng)、電話和自助終端彩票銷售平臺(tái),以促進(jìn)行業(yè)信息化為己任。

圖書目錄

前 言
第1章 引論 1
建議1:理解Pythonic概念 1
建議2:編寫Pythonic代碼 5
建議3:理解Python與C語言的不同之處 8
建議4:在代碼中適當(dāng)添加注釋 10
建議5:通過適當(dāng)添加空行使代碼布局更為優(yōu)雅、合理 12
建議6:編寫函數(shù)的4個(gè)原則 15
建議7:將常量集中到一個(gè)文件 18
第2章 編程慣用法 20
建議8:利用assert語句來發(fā)現(xiàn)問題 20
建議9:數(shù)據(jù)交換值的時(shí)候不推薦使用中間變量 22
建議10:充分利用Lazy evaluation的特性 24
建議11:理解枚舉替代實(shí)現(xiàn)的缺陷 25
建議12:不推薦使用type來進(jìn)行類型檢查 27
建議13:盡量轉(zhuǎn)換為浮點(diǎn)類型后再做除法 29
建議14:警惕eval()的安全漏洞 31
建議15:使用enumerate()獲取序列迭代的索引和值 33
建議16:分清==與is的適用場景 35
建議17:考慮兼容性,盡可能使用Unicode 37
建議18:構(gòu)建合理的包層次來管理module 42
第3章 基礎(chǔ)語法 45
建議19:有節(jié)制地使用from...import語句 45
建議20:優(yōu)先使用absolute import來導(dǎo)入模塊 48
建議21:i+=1不等于++i 50
建議22:使用with自動(dòng)關(guān)閉資源 50
建議23:使用else子句簡化循環(huán)(異常處理) 53
建議24:遵循異常處理的幾點(diǎn)基本原則 55
建議25:避免finally中可能發(fā)生的陷阱 59
建議26:深入理解None,正確判斷對象是否為空 60
建議27:連接字符串應(yīng)優(yōu)先使用join而不是+ 62
建議28:格式化字符串時(shí)盡量使用.format方式而不是% 64
建議29:區(qū)別對待可變對象和不可變對象 68
建議30:[]、()和{}:一致的容器初始化形式 71
建議31:記住函數(shù)傳參既不是傳值也不是傳引用 73
建議32:警惕默認(rèn)參數(shù)潛在的問題 77
建議33:慎用變長參數(shù) 78
建議34:深入理解str()和repr()的區(qū)別 80
建議35:分清staticmethod和classmethod的適用場景 82
第4章 庫 86
建議36:掌握字符串的基本用法 86
建議37:按需選擇sort()或者sorted() 89
建議38:使用copy模塊深拷貝對象 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模塊編寫多線程程序 122
建議49:使用Queue使多線程編程更安全 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對象協(xié)議 176
建議64:利用操作符重載實(shí)現(xiàn)中綴語法 179
建議65:熟悉 Python 的迭代器協(xié)議 181
建議66:熟悉 Python 的生成器 185
建議67:基于生成器的協(xié)程及greenlet 188
建議68:理解GIL的局限性 192
建議69:對象的管理與垃圾回收 194
第7章 使用工具輔助項(xiàng)目開發(fā) 197
建議70:從PyPI安裝包 197
建議71:使用pip和yolk安裝、管理包 199
建議72:做paster創(chuàng)建包 202
建議73:理解單元測試概念 209
建議74:為包編寫單元測試 212
建議75:利用測試驅(qū)動(dòng)開發(fā)提高代碼的可測性 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)勢 245
建議88:使用multiprocessing克服GIL的缺陷 248
建議89:使用線程池提高效率 254
建議90:使用C/C++模塊擴(kuò)展提高性能 257
建議91:使用 Cython 編寫擴(kuò)展模塊 259

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) hotzeplotz.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號