目錄(145章)
倒序
- 封面
- 版權信息
- 獻詞
- 前言
- 目標讀者
- 關于本書
- 你的編程之旅
- 更多信息
- 致謝
- 第一部分 起步
- 第1章 處理錯誤和尋求幫助
- 1.1 如何理解Python錯誤信息
- 1.2 借助linter避免錯誤
- 1.3 如何尋求編程幫助
- 1.4 樣例:如何尋求幫助
- 1.5 小結
- 第2章 環境設置和命令行
- 2.1 文件系統
- 2.2 程序和進程
- 2.3 命令行
- 2.4 環境變量和PATH
- 2.5 不借助命令行運行Python程序
- 2.6 小結
- 第二部分 最佳實踐、工具和技巧
- 第3章 使用Black進行代碼格式化
- 3.1 讓程序員招人煩的錯誤做法
- 3.2 風格指南和PEP 8
- 3.3 水平間距
- 3.4 垂直間距
- 3.5 Black:毫不妥協的代碼格式化工具
- 3.6 小結
- 第4章 選擇易懂的名稱
- 4.1 命名風格
- 4.2 PEP 8的命名風格
- 4.3 適當的名稱長度
- 4.4 起易于搜索的名稱
- 4.5 避免笑話、雙關語和需要文化背景才能理解的詞匯
- 4.6 不要覆蓋內置名稱
- 4.7 史上最差的變量名
- 4.8 小結
- 第5章 揪出代碼的壞味道
- 5.1 重復的代碼
- 5.2 魔數
- 5.3 注釋掉的代碼和死代碼
- 5.4 打印調試
- 5.5 帶有數字后綴的變量
- 5.6 本該是函數或者模塊的類
- 5.7 嵌套列表解析式
- 5.8 空的except塊和糟糕的錯誤信息
- 5.9 代碼壞味道的謬誤
- 5.10 小結
- 第6章 編寫Python風格的代碼
- 6.1 Python之禪
- 6.2 學著喜歡強制縮進
- 6.3 使用timeit模塊衡量性能
- 6.4 常被誤用的語法
- 6.5 格式化字符串
- 6.6 制作列表的淺副本
- 6.7 以Python風格使用字典
- 6.8 條件表達式:Python“丑陋”的三元運算符
- 6.9 處理變量的值
- 6.10 小結
- 第7章 編程術語
- 7.1 定義
- 7.2 經常被混淆的術語
- 7.3 小結
- 第8章 常見的Python陷阱
- 8.1 循環列表的同時不要增刪其中的元素
- 8.2 復制可變值時務必使用copy.copy()和copy.deepcopy()
- 8.3 不要用可變值作為默認參數
- 8.4 不要通過字符串連接創建字符串
- 8.5 不要指望sort()按照字母順序排序
- 8.6 不要假設浮點數是完全準確的
- 8.7 不要使用鏈式!=運算符
- 8.8 不要忘記在僅有一項的元組中添加逗號
- 8.9 小結
- 第9章 Python的奇特難懂之處
- 9.1 為什么256是256,而257不是257
- 9.2 字符串駐留
- 9.3 假的Python增量運算符和減量運算符
- 9.4 傳遞空列表給all()
- 9.5 布爾值是整數值
- 9.6 鏈式使用多種運算符
- 9.7 Python的反重力特性
- 9.8 小結
- 第10章 編寫高效的函數
- 10.1 函數名
- 10.2 函數大小的權衡
- 10.3 函數的形參和實參
- 10.4 函數式編程
- 10.5 返回值的數據類型應該不變
- 10.6 拋出異常和返回錯誤碼
- 10.7 小結
- 第11章 注釋、文檔字符串和類型提示
- 11.1 注釋
- 11.2 文檔字符串
- 11.3 類型提示
- 11.4 小結
- 第12章 通過Git管理項目
- 12.1 Git提交和倉庫
- 12.2 使用Cookiecutter新建Python項目
- 12.3 安裝Git
- 12.4 Git的工作流程
- 12.5 在計算機上創建Git倉庫
- 12.6 查看提交日志
- 12.7 恢復歷史修改
- 12.8 GitHub和git推送命令
- 12.9 小結
- 第13章 性能測量和大算法分析
- 13.1 timeit模塊
- 13.2 cProfile分析器
- 13.3 大□算法分析
- 13.4 大□階
- 13.5 確定代碼的大□階
- 13.6 小結
- 第14章 項目實戰
- 14.1 漢諾塔
- 14.2 四子棋
- 14.3 小結
- 第三部分 面向對象的Python
- 第15章 面向對象編程和類
- 15.1 拿現實世界打比方:填寫表格
- 15.2 基于類創建對象
- 15.3 創建一個簡單的類——WizCoin
- 15.4 函數type()和特性__qualname__
- 15.5 非OOP和OOP的例子:井字棋
- 15.6 為現實世界設計類是一件難事兒
- 15.7 小結
- 第16章 面向對象編程和繼承
- 16.1 繼承的原理
- 16.2 函數isinstance()和issubclass()
- 16.3 類方法
- 16.4 類特性
- 16.5 靜態方法
- 16.6 何時應該使用類和靜態的面向對象特性
- 16.7 面向對象的行話
- 16.8 何時不應該使用繼承
- 16.9 多重繼承
- 16.10 方法解析順序
- 16.11 小結
- 第17章 Python風格的面向對象編程:屬性和魔術方法
- 17.1 屬性
- 17.2 Python的魔術方法
- 17.3 小結
- 看完了 更新時間:2022-08-01 11:41:21
推薦閱讀
- INSTANT Mock Testing with PowerMock
- Git Version Control Cookbook
- Instant Apache Stanbol
- Visual Basic編程:從基礎到實踐(第2版)
- Learning ArcGIS Pro
- 假如C語言是我發明的:講給孩子聽的大師編程課
- Building Mapping Applications with QGIS
- Mastering Rust
- C#程序設計基礎:教程、實驗、習題
- 利用Python進行數據分析(原書第3版)
- C/C++程序員面試指南
- LabVIEW虛擬儀器入門與測控應用100例
- Learning YARN
- Visual Basic程序設計習題與上機實踐
- Image Processing with ImageJ
- Java程序設計與項目案例教程
- 區塊鏈架構之美:從比特幣、以太坊、超級賬本看區塊鏈架構設計
- 現代C:概念剖析和編程實踐
- MATLAB計算機視覺實戰
- Analytics for the Internet of Things(IoT)
- GitHub Essentials
- 天天學敏捷:Scrum團隊轉型記
- Python基礎教程
- Python+Tensorflow機器學習實戰
- Python:Journey from Novice to Expert
- 計算機軟件技術基礎(第2版)
- 數據分析與挖掘:R語言
- Windows PowerShell 4.0 for .NET Developers
- OpenCV 4 with Python Blueprints
- Microsoft Dynamics CRM 2011 Reporting