本書作者BrettSlatkin以使用場景為主導的精練教學方式,匯聚了59條的實踐原則、開發技巧和便捷方案,并以實用的代碼范例來解釋它們。作者根據自己在Google公司多年開發Python基礎架構所積累的經驗,揭示了Python語言中一些鮮為人知的微妙特性,并給出了能夠改善代碼功能及運行效率的習慣用法。通過本書,你能夠了解到解決關鍵編程任務所用的方式,并學會編寫易于理解、便于維護且利于改進的代碼。
目錄?Contents
本書贊譽
譯??者??序
前言
致謝
第1章 用Pythonic方式來思考 1
第1條:確認自己所用的Python版本 1
第2條:遵循PEP 8風格指南 3
第3條:了解bytes、str與unicode的區別 5
第4條:用輔助函數來取代復雜的表達式 8
第5條:了解切割序列的辦法 10
第6條:在單次切片操作內,不要同時指定start、end和stride 13
第7條:用列表推導來取代map和f?ilter 15
第8條:不要使用含有兩個以上表達式的列表推導 16
第9條:用生成器表達式來改寫數據量較大的列表推導 18
第10條:盡量用enumerate取代range 20
第11條:用zip函數同時遍歷兩個迭代器 21
第12條:不要在for和while循環后面寫else塊 23
第13條:合理利用try/except/else/f?inally結構中的每個代碼塊 25
第2章 函數 28
第14條:盡量用異常來表示特殊情況,而不要返回None 28
第15條:了解如何在閉包里使用外圍作用域中的變量 30
第16條:考慮用生成器來改寫直接返回列表的函數 35
第17條:在參數上面迭代時,要多加小心 37
第18條:用數量可變的位置參數減少視覺雜訊 41
第19條:用關鍵字參數來表達可選的行為 43
第20條:用None和文檔字符串來描述具有動態默認值的參數 46
第21條:用只能以關鍵字形式指定的參數來確保代碼明晰 49
第3章 類與繼承 53
第22條:盡量用輔助類來維護程序的狀態,而不要用字典和元組 53
第23條:簡單的接口應該接受函數,而不是類的實例 58
第24條:以@classmethod形式的多態去通用地構建對象 62
第25條:用super初始化父類 67
第26條:只在使用Mix-in組件制作工具類時進行多重繼承 71
第27條:多用public屬性,少用private屬性 75
第28條:繼承collections.abc以實現自定義的容器類型 79
第4章 元類及屬性 84
第29條:用純屬性取代get和set方法 84
第30條:考慮用@property來代替屬性重構 88
第31條:用描述符來改寫需要復用的@property方法 92
第32條:用__getattr__、__getattribute__和__setattr__實現按需生成的屬性 97
第33條:用元類來驗證子類 102
第34條:用元類來注冊子類 104
第35條:用元類來注解類的屬性 108
第5章 并發及并行 112
第36條:用subprocess模塊來管理子進程 113
第37條:可以用線程來執行阻塞式I/O,但不要用它做平行計算 117
第38條:在線程中使用Lock來防止數據競爭 121
第39條:用Queue來協調各線程之間的工作 124
第40條:考慮用協程來并發地運行多個函數 131
第41條:考慮用concurrent.futures來實現真正的平行計算 141
第6章 內置模塊 145
第42條:用functools.wraps定義函數修飾器 145
第43條:考慮以contextlib和with語句來改寫可復用的try/f?inally代碼 148
第44條:用copyreg實現的pickle操作 151
第45條:應該用datetime模塊來處理本地時間,而不是用time模塊 157
第46條:使用內置算法與數據結構 161
第47條:在重視度的場合,應該使用decimal 166
第48條:學會安裝由Python開發者社區所構建的模塊 168
第7章 協作開發 170
第49條:為每個函數、類和模塊編寫文檔字符串 170
第50條:用包來安排模塊,并提供穩固的API 174
第51條:為自編的模塊定義根異常,以便將調用者與API相隔離 179
第52條:用適當的方式打破循環依賴關系 182
第53條:用虛擬環境隔離項目,并重建其依賴關系 187
第8章 部署 193
第54條:考慮用模塊級別的代碼來配置不同的部署環境 193
第55條:通過repr字符串來輸出調試信息 195
第56條:用unittest來測試全部代碼 198
第57條:考慮用pdb實現交互調試 201
第58條:先分析性能,然后再優化 203
第59條:用tracemalloc來掌握內存的使用及泄漏情況 208
還行啦
書很好,就是有破損,希望以后包裝和運輸多注意
印刷很清楚,不錯
書很不錯,正在學習。
書給我折了
還沒看,書印刷不錯
很好
打折活動確實不錯,都是正版書,質量挺好!
不錯!
很好 繼續努力
這次活動買的,很便宜
每天一課,簡單實用
還可以
正版書,里面的字跡很清晰,紙張的質量也好
人不讀書將虛度人生光陰,多讀好書提升自己的知識。向大家推薦這一本好書。
薄薄的,對我挺有幫助的
OKOKOK
內容不錯
好書,值得購買
完美,價格實惠,并且全新未拆封。
不錯,先看看
蠻好的,雖然書本身有點貴
書不錯,很經典。物流也快,滿意
很不錯,值得一讀
內容還沒看,這本書紙張和印刷都很差,59塊錢的書,當當你就給我這種盜版書看?我這39塊錢的python書紙張都比這好。
紙質很好。內容很好 滿分滿分滿分滿分滿分滿分滿分
里面的技巧都是編寫代碼過程中需要注意和提高的,很有收獲!
python的一些代碼技巧,入門后可以看這本書,可以快速提高