股资源-股票学习站-学炒股-股票课程-炒股教程-分析选股指标-入门基础知识

 找回密码
 注册昵称

QQ登录

只需一步,快速开始

搜索
上一主题 下一主题

Effective Python 中文版:寫出良好Python程式的59個具體做法

 
    [-----复制链接-----]

22万

主题

22万

帖子

14

精华

积分
11018
楼主
2020-4-15 03:19:55
【资料名称】:Effective Python 中文版:寫出良好Python程式的59個具體做法    
【资料描述】:

  「Slatkin 的《Effective Python》中每個主題都是自成一體的一堂課,包含對應該主題的程式碼,這讓你能夠隨意翻閱此書。其中的主題易於瀏覽,並可依讀者需要的順序來研讀。我會向 Python 的學員推薦《Effective Python》這本書,它以相當精簡的方式包含了非常廣泛的主題,為具有相當程度的 Python 程式設計師提供了主流的建議做法。」
  —Brandon Rhodes,Dropbox 軟體工程師及 PyCon 2016-2017 主席
  使用 Python 撰寫程式是很容易的事情,這也是此語言廣受歡迎的原因。然而,Python 獨特的力量、迷人之處及表達能力,可能會有點難以捉摸,另外也有一些隱藏的陷阱,讓你一不小心就遭殃了。
  《Effective Python》將會協助你精通真正的「Pythonic」程式之道,讓你能夠駕馭 Python 的完整威能,撰寫出非常穩固且效能優越的程式碼。依循 Scott Meyers 暢銷書《Effective C++》所開創出的簡潔、情境取向風格,Brett Slatkin 為我們帶來了 59 個 Python 最佳實務做法、訣竅和捷徑,並以真實的程式碼範例闡明它們的原理。
  汲取自於 Google 建置 Python 基礎設施的多年經驗,Slatkin 為我們揭露了 Python 少為人知的特點與慣用手法,它們強而有力地改善了程式碼的行為,提升了執行效能。你會學到完成關鍵任務的最佳方式,讓你寫出容易理解、維護並與時俱進的程式碼。
  目錄
  前言
  致謝
  關於作者
  第1 章 Pythonic 思維
  做法01 知道你所用的Python 版本
  做法02 遵循PEP8 風格指南
  做法03 搞清楚bytes、str與unicode之間的差異
  做法04 撰寫輔助函式而非複雜的運算式
  做法05 知道如何切割序列
  做法06 避免在單一切片中使用start、end與stride
  做法07 使用串列概括式而非map和filter
  做法08 在串列概括式中不要使用超過兩個運算式
  做法09 考慮使用產生器運算式取代大型概括式
  做法10 優先選用enumerate而非range
  做法11 使用zip來平行處理迭代器
  做法12 避免在for或while迴圈之後使用else區塊
  做法13 善用try/except/else/finally中的每個區塊
  第2 章 函式
  做法14 優先選用例外而非回傳None
  做法15 知道Closures 如何與變數範疇互動
  做法16 考慮使用產生器而非回傳串列
  做法17 迭代引數時要做好防備
  做法18 以可變的位置引數來減少視覺雜訊
  做法19 以關鍵字引數提供選擇性的行為
  做法20 使用None與Docstrings 來指定動態的預設引數
  做法21 強制使用僅限關鍵字引數來讓程式碼更清楚易懂
  第3 章 類別與繼承
  做法22 優先選用輔助類別而非使用字典或元組來管理記錄
  做法23 接受函式作為簡單的介面,而非使用類別
  做法24 使用@classmethod多型機制來建構泛用物件
  做法25 使用super來初始化父類別
  做法26 多重繼承只用於Mix-in 工具類別
  做法27 優先選用公開屬性而非私有屬性
  做法28 繼承collections.abc以建立自訂的容器型別
  第4 章 元類別與屬性
  做法29 使用普通的屬性而非Get 或Set 方法
  做法30 考慮使用@property而非重構屬性
  做法31 使用描述器來建立可重用的@property方法
  做法34 使用__getattr__、__getattribute__與__setattr__來建立惰性屬性
  做法33 以元類別來驗證子類別
  做法34 以Metaclasses 註冊類別的存在
  做法35 以Metaclasses 來注釋類別屬性
  第5 章 共時與平行處理
  做法36 使用subprocess來管理子行程
  做法37 執行緒用於阻斷式的I/O,避免用於平行處理
  做法38 使用Lock來避免執行緒中的資料競態
  做法39 使用Queue來協調執行緒之間的工作
  做法40 考慮使用Coroutines 來共時執行許多函式
  做法41 考慮使用concurrent.futures來達成真正的平行處理
  第6 章 內建模組
  做法42 以functools.wraps定義函式裝飾器
  做法43 考慮使用contextlib與with述句來建立可重用的try/finally 行為
  做法44 用copyreg來使pickle更可靠
  做法45 本地時鐘使用datetime而非time
  做法46 使用內建的演算法與資料結構
  做法47 精確度很重要時就使用decimal
  做法48 知道去哪找社群建置的模組
  第7 章 協作
  做法49 為每個函式、類別與模組撰寫Docstrings
  做法50 使用套件來組織模組並提供穩定的API
  做法51 定義一個根例外來隔離呼叫者與API
  做法52 知道如何打破循環依存性
  做法53 使用虛擬環境來建立孤立且可重現的依存性
  第8 章 推出產品
  做法54 考慮使用以模組為範疇的程式碼來設置部署環境
  做法55 使用repr字串作為除錯輸出
  做法56 所有的東西都使用unittest來測試
  做法57 考慮使用pdb來進行互動式的除錯
  做法58 最佳化之前先進行效能評測
  做法59 使用tracemalloc來了解記憶體用量或是否有洩漏
  索引



【下载地址隐藏】:                    点:回复可见地址
游客,如果您要查看本帖隐藏内容请回复






上一篇:《跃升》划时代的性格解析巨著,重建人生格局,帮你实现人生的超越!
下一篇:有錢人都在用的人生時薪思考 田路和也 周若珍
回复

举报

QQ|

GMT+8, 2024-9-20 22:44

快速回复 返回顶部 返回列表