*數量非實際在台庫存 *完成訂單後正常情形下約兩周可抵台。 *本賣場提供之資訊僅供參考,以到貨標的為實際資訊。 印行年月:202403*若逾兩年請先於私訊洽詢存貨情況,謝謝。 台灣(台北市)在地出版社,每筆交易均開具統一發票,祝您中獎最高1000萬元。 書名:Effective Python:編寫好Python的90個有效方法 (第2版 英文版) ISBN:9787115634061 出版社:人民郵電 著編譯者:(美)佈雷特·斯拉特金(BRETT 頁數:434 所在地:中國大陸 *此為代購商品 書號:1623804 可大量預訂,請先連絡。 【台灣高等教育出版社簡體書】 Effective Python:編寫好Python的90個有效方法 (第2版 英文版) 787115634061 (美)佈雷特·斯拉特金(BRETT 內容簡介 本書是Effective Python的第2版,基於Python 3進行了全面升級。本書分為10章,包含90個條目,形式簡潔、表述準確。每個條目都基於對Python的獨到見解,告訴讀者如何高效地編寫Python程序。與第1版相比,第2版只關注Python 3,而不再兼顧Python 2。根據Python語言引入的新特性,以及Python開發者所形成的新經驗,對第1版中的某些思路與解決方案進行了修訂,以更好地發揮Python的優勢。本書刪除了過時的知識點,並添加了對Python新特性的一些介紹。新版中增加了31個條目,並專門設立了幾章來強調列表和字典、推導和生成器、元類和屬性、穩定性和性能,以及測試和調試等重要主題。 建議讀者在閱讀本書之前應對Python語言有初步的了解。對於有一定經驗的開發者以及對Python編程感興趣的讀者,本書可以幫助其更深入地理解Python語言,以成為更卓越、高效的Python開發者。作者簡介 布雷特·斯拉特金(Brett Slatkin),GooqIe公司高級軟體工程師。他是Google消費者調查項目的工程主管及聯合創始人,曾從事Google App Engine的Python基礎架構工作,並利用Python來管理眾多的Google伺服器。Slatkin也是PubSubHubbub協議的聯合創始人,還用Python為GoogIe實現了針對該協議的系統。他擁有哥倫比亞大學計算機工程專業學士學位。目錄 第1章 Pythonic思維條目1:查詢自己使用的Python版本 條目2:遵循PEP 8風格指南 條目3:了解bytes和str之間的區別 條目4:使用支持插值的f-string取代C風格的格式化字元串和str format 條目5:使用輔助函數取代複雜表達式 條目6:把數據結構直接拆分到多個變數里,避免通過下標訪問 條目7:盡量用enumerate取代range 條目8:使用zip并行處理迭代器 條目9:避免在for和while循環后使用else塊 條目10:使用賦值表達式減少重複代碼 第2章 列表和字典 條目11:學會對序列做切片 條目12:避免在切片里同時指定起止下標和步進 條目13:通過帶星號的unpacking操作來捕獲多個元素,避免用切片 條目14:使用sort方法的key參數表示複雜的排序邏輯 條目15:不要過分依賴給dict添加條目時所用的順序 條目16:使用get處理鍵不在字典中的情況,避免使用in與KeyError 條目17:使用defaultdict處理內部狀態中觖失的元素,而避免使用setdefault 條目18:學會使用_missing_構建依賴鍵的默認值 第3章 函數 條目19:避免把函數返回的多個數值拆分到3個以上的變數中 條目20:遇到意外狀況時應該拋出異常,而不是返回None 條目21:了解如何在閉包裏面使用外圍作用域中的變數 條目22:使用數量可變的位置參數給函數設計清晰的參數列表 條目23:使用關鍵字參數表示可選行為 條目24:使用None和文檔字元串描述默認值會變的參數 條目25:使用只能以關鍵字指定和只能按位置傳入的參數來設計清晰的參數列表 條目26:使用functools wraps定義函數修飾器 第4章 推導和生成器 條目27:使用推導取代map和filter 條目28:在推導中避免超過兩個控制子表達式 條目29:使用賦值表達式在推導中避免重複代碼 條目30:考慮使用生成器而不是返回列表 條目31:謹慎地迭代函數所收到的參數 條目32:考慮使用生成器表達式來進行大型列表推導的組合 條目33:使用yield from組合多個生成器 條目34:避免使用send向生成器注入數據 條目35:避免通過throw變換生成器的狀態 條目36:考慮使用itertools處理迭代器和生成器 第5章 類和介面 條目37:使用組合起來的類來實現多層結構,避免用嵌套的內置類型 條目38:接受函數而不是類來實現簡單介面 條目39:通過@classmethod多態來構建同一體系中的各類對象 條目40:使用super初始化超類 條目41:考慮使用混合類來組合功能 條目42:優先考慮使用共有屬性表示應受保護的數據,避免使用私有屬性表示 條目43:使用collections abc繼承自定義容器類型 第6章 元類和屬性 條目44:使用純屬性而不是setter和getter方法 條目45:考慮使用Gproperty而不是重構屬性 條目46:使用描述符來改寫需要復用的Eproperty方法 條目47:使用_getattr_、_getattribute_和_setattr_處理惰性屬性 條目48:使用_init_subclass_驗證子類 條目49:使用_init_subclass_記錄現有的子類 條目50:使用_set_name_註釋類屬性 條目51:使用類修飾器而不是元類來實現可組合的類擴展 第7章 併發和并行 條目52:使用subprocess管理子進程 條目53:使用線程處理阻塞I/O,但避免使用它做并行計算 條目54:使用Lock避免線程中的數據競爭 條目55:使用Queue協調線程間的工作 條目56:學會判斷何時需要併發 條目57:避免為按需分發創建新的Thread實例 條目58:學會正確地重構代碼,以便用Queue做併發 條目59:在需要併發時考慮ThreadPoolExecutor 條目60:使用協程實現高併發I/O 條目61:了解如何將基於線程的I/O移植到asyncio 條目62:混合使用線程和協程以便過渡到asyncio 條目63:避免阻塞asyncio事件循環以最大化程序的響應能力 條目64:考慮concurrent futures以實現真正的并行計算 第8章 穩定性和性能 條目65:充分利用try/except/else/finally結構中的每個代碼塊 條目66:考慮使用contextlib和with語句來改寫可復用的try/finally代碼 條目67:使用datetime模塊而不是time模塊處理本地時間 條目68:使用copyreg實現可靠的pickle操作 條目69:在需要準確計算時使用decimal表示相應的數值 條目70:在優化之前進行性能分析 條目71:優先考慮使用deque實現生產者-消費者隊列 條目72:考慮使用bisect搜索排序序列 條目73:學會使用heapq製作優先順序隊列 條目74:考慮使用memoryview和bytearray來實現無須拷貝的bytes操作 第9章 測試和調試 條目75:使用repr字元串輸出調試信息 條目76:通過TestCase子類驗證相關行為 條目77:使用setUp、tearDown、setUpModule和tearDownModule將測試隔離開 條目78:使用Mock來模擬受測代碼所依賴的複雜函數 條目79:封裝依賴關係以便於模擬和測試 條目80:考慮使用pdb進行互動式調試 條目81:使用tracemalloc了解內存使用和泄漏情況 詳細資料或其他書籍請至台灣高等教育出版社查詢,查後請於PChome商店街私訊告知ISBN或書號,我們即儘速上架。 |