发表于2024-12-27
[按需印刷]編寫高質量代碼:改善Python程序的91個建議 計算機與互…|3770256 pdf epub mobi txt 電子書 下載 2024
書[0名0]: | 編寫高質量代碼:改善Python程序的91個建議[按需印刷]|3770256 |
圖書定價: | 59元 |
圖書作者: | 張穎;賴勇浩 |
齣版社: | [1機1] 械工業齣版社 |
齣版日期: | 2014-06-01 0:00:00 |
ISBN號: | 9787111467045 |
開本: | 16開 |
頁數: | 262 |
版次: | 1-1 |
作者簡介 |
張穎,資深軟件開發工程師,精通Java、Python、Perl等技術,以及多種腳本語言,有多年開發經驗。曾就職於阿爾卡特朗訊上海公司的LTE無綫事業部,現就職於IBM CSTL,工作期間獲得過多種奬勵,並於2012年獲得一項雲計算相關的專利。賴勇浩,資深軟件開發工程師,自2006年起以編寫Python代碼為生,現已創業。在Python[0領0]域有深厚的積纍,CSDN博客專傢,博客瀏覽量[0超0]過200萬。也是珠三角技術沙龍創始人之一,從2009年起擔任沙龍組委,長年活躍在社區[0第0]一綫,在[0國0]內Python圈子裏有較高的[0知0][0名0]度和影響力。有[0超0]過7年的遊戲開發經驗,擅長Python、C++等網遊相關的技術,曾就職於網易等網遊研發廠[0商0];現專注於中[0國0]彩票事業,開發互聯網、電話和自助終端彩票銷售平颱,以促進行業信息化為己任。 |
內容簡介 |
在通往“Python技術殿堂”的路上,本書將為你編寫健壯、[0優0]雅、高質量的Python代碼提供切實幫助!內容全部由Python編碼的佳實踐組成,從基本原則、慣用[0法0]、語[0法0]、庫、設計模式、內部 [1機1] 製、開發工具和性能[0優0]化8個方麵深入探討瞭編寫高質量Python代碼的技巧與禁忌,一共總結齣91條寶貴的建議。每條建議對應Python程序員可能[0會0]遇到的一個問題。本書不僅以建議的方式從正反兩方麵給齣瞭被實踐證明為十分[0優0]秀的解決方案或非常糟糕的解決方案,而且分析瞭問題産生的根源,[0會0]使人有一種醍醐灌[0頂0]的感覺,豁然開朗。 《編寫高質量代碼:改善Python程序的91個建議》針對每個問題所選擇的應用場景都非常典型,給齣的建議也都與實踐緊密結閤。書中的每一條建議都可能在你的下一行代碼、下一個應用或下一個項目中顯露鋒芒。建議你將本書擱置在手邊,隨時查閱,相信這麼做一定能使你的[0學0]習和開發工作事半功倍。 |
目錄 |
《編寫高質量代碼:改善Python程序的91個建議》 前 言 [0第0]1章 引論 1 建議1:理解Pythonic概念 1 建議2:編寫Pythonic代碼 5 建議3:理解Python與C語言的不同之處 8 建議4:在代碼中適[0當0]添加注釋 10 建議5:通過適[0當0]添加空行使代碼布局更為[0優0]雅、閤理 12 建議6:編寫函數的4個原則 15 建議7:將常量集中到一個文件 18 [0第0]2章 編程慣用[0法0] 20 建議8:利用assert語句來發現問題 20 建議9:數據交換值的時候不推薦使用中間變量 22 建議10:充分利用Lazy evaluation的特性 24 建議11:理解枚舉替代實現的缺陷 25 建議12:不推薦使用type來進行類型檢查 27 建議13:盡量轉換為浮點類型後再做除[0法0] 29 建議14:警惕eval()的安全漏洞 31 建議15:使用enumerate()獲取序列迭代的索引和值 33 建議16:分清==與is的適用場景 35 建議17:考慮兼容性,盡可能使用Unicode 37 建議18:構建閤理的包層次來管理module 42 [0第0]3章 基礎語[0法0] 45 建議19:有節製地使用from...import語句 45 建議20:[0優0]先使用absolute import來導入模塊 48 建議21:i+=1不等於++i 50 建議22:使用with自動關閉資源 50 建議23:使用else子句簡化循環(異常處理) 53 建議24:遵循異常處理的幾點基本原則 55 建議25:避免fin[0all0]y中可能發生的陷阱 59 建議26:深入理解[0No0]ne,正確判斷對象是否為空 60 建議27:連接字符串應[0優0]先使用join而不是+ 62 建議28:格式化字符串時盡量使用.format方式而不是% 64 建議29:區彆對待可變對象和不可變對象 68 建議30:[]、()和{}:一緻的容器初始化形式 71 建議31:記住函數傳參既不是傳值也不是傳引用 73 建議32:警惕默認參數潛在的問題 77 建議33:慎用變長參數 78 建議34:深入理解str()和repr()的區彆 80 建議35:分清staticmethod和classmethod的適用場景 82 [0第0]4章 庫 86 建議36:掌握字符串的基本用[0法0] 86 建議37:按需選擇sort()或者sorted() 89 建議38:使用copy模塊深拷貝對象 92 建議39:使用Counter進行計數統計 95 建議40:深入掌握ConfigParser 97 建議41:使用argparse處理命令行參數 99 建議42:使用pandas處理[0大0]型CSV文件 103 建議43:一般情況使用ElementTree解析XML 107 建議44:理解模塊pickle[0優0]劣 111 建議45:序列化的另一個不錯的選擇——JSON 113 建議46:使用traceback獲取棧信息 116 建議47:使用logging記錄日誌信息 119 建議48:使用threading模塊編寫多綫程程序 122 建議49:使用Queue使多綫程編程更安全 125 [0第0]5章 設計模式 129 建議50:利用模塊實現單例模式 129 建議51:用mixin模式讓程序更加靈活 132 建議52:用發布訂閱模式實現鬆耦閤 134 建議53:用狀態模式美化代碼 137 [0第0]6章 內部 [1機1] 製 141 建議54:理解built-in objects 141 建議55:__init__()不是構造方[0法0] 143 建議56:理解[0名0]字查找 [1機1] 製 147 建議57:為什麼需要self參數 151 建議58:理解MRO與多繼承 154 建議59:理解描述符 [1機1] 製 157 建議60:區彆__getattr__()和__getattribute__()方[0法0] 160 建議61:使用更為安全的property 164 建議62:掌握metaclass 169 建議63:熟悉Python對象協議 176 建議64:利用操作符重載實現中綴語[0法0] 179 建議65:熟悉 Python 的迭代器協議 181 建議66:熟悉 Python 的生成器 185 建議67:基於生成器的協程及greenlet 188 建議68:理解GIL的局限性 192 建議69:對象的管理與垃圾迴收 194 [0第0]7章 使用工具輔助項目開發 197 建議70:從PyPI安裝包 197 建議71:使用pip和yolk安裝、管理包 199 建議72:做paster創建包 202 建議73:理解單元測試概念 209 建議74:為包編寫單元測試 212 建議75:利用測試驅動開發提高代碼的可測性 216 建議76:使用Pylint檢查代碼風格 218 建議77:進行高效的代碼審查 221 建議78:將包發布到PyPI 224 [0第0]8章 性能剖析與[0優0]化 227 建議79:瞭解代碼[0優0]化的基本原則 227 建議80:藉助性能[0優0]化工具 228 建議81:利用cProfile定位性能瓶頸 229 建議82:使用memory_profiler 和 objgraph 剖析內存使用 235 建議83:努力降低算[0法0]復雜度 237 建議84:掌握循環[0優0]化的基本技巧 238 建議85:使用生成器提高效率 240 建議86:使用不同的數據結構[0優0]化性能 243 建議87:充分利用set的[0優0]勢 245 建議88:使用multiprocessing剋服GIL的缺陷 248 建議89:使用綫程池提高效率 254 建議90:使用C/C++模塊擴展提高性能 257 建議91:使用 Cython 編寫擴展模塊 259 |
[按需印刷]編寫高質量代碼:改善Python程序的91個建議 計算機與互…|3770256 pdf epub mobi txt 電子書 下載