登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入   新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書

『簡體書』编写整洁的Python代码(第2版)

書城自編碼: 3790945
分類:簡體書→大陸圖書→計算機/網絡程序設計
作者: 马里亚诺·阿那亚[Mariano Anaya]
國際書號(ISBN): 9787115588111
出版社: 人民邮电出版社
出版日期: 2022-09-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:HK$ 103.3

我要買

share:

** 我創建的書架 **
未登入.


新書推薦:
述异记汇笺及情节单元分类研究(上下册)
《 述异记汇笺及情节单元分类研究(上下册) 》

售價:HK$ 104.5
环境、社会、治理(ESG)信息披露操作手册
《 环境、社会、治理(ESG)信息披露操作手册 》

售價:HK$ 261.8
桑德拉销售原则   伍杰 [美]大卫·马特森
《 桑德拉销售原则 伍杰 [美]大卫·马特森 》

售價:HK$ 96.8
理论的意义
《 理论的意义 》

售價:HK$ 74.8
悬壶杂记:医林旧事
《 悬壶杂记:医林旧事 》

售價:HK$ 52.8
谁之罪?(汉译世界文学5)
《 谁之罪?(汉译世界文学5) 》

售價:HK$ 52.8
民国词社沤社研究
《 民国词社沤社研究 》

售價:HK$ 140.8
帕纳索传来的消息(文艺复兴译丛)
《 帕纳索传来的消息(文艺复兴译丛) 》

售價:HK$ 108.9

 

建議一齊購買:

+

HK$ 92.1
《零基础轻松学C++:青少年趣味编程(全彩版)》
+

HK$ 129.1
《MATLAB优化算法》
+

HK$ 163.4
《程序员的自我修养—链接、装载与库》
+

HK$ 113.9
《C++新经典:设计模式》
+

HK$ 127.5
《PHP项目开发全程实录(第4版)》
+

HK$ 111.3
《剑指Offer(专项突破版):数据结构与算法名企面试题精讲》
編輯推薦:
1. 介绍实现Python代码整洁应遵循的基本原则
2. 涵盖避免由不良代码导致的效率低下以及存在诸多隐患的代码的方法
3. 作者Mariano Anaya,软件工程师,专业背景深厚,项目经验丰富
4. 基于新的Python 3.9,方便读者学习
內容簡介:
这是一本介绍如何实现Python代码整洁的书,主要介绍如何使用Python 3.9引入的新特性提升编码技能。此外,本书还介绍了以下内容:通过利用自动化工具建立高效的开发环境,利用Python中的魔法方法来编写更好的代码,抽象代码复杂性并封装细节,使用Python特有的特性创建高级的面向对象设计,通过使用面向对象设计的软件工程原则创建强大的抽象来消除代码重复,使用装饰器和描述符创建特定于Python的解决方案,运用单元测试方法有效重构代码,以及通过实现整洁的代码库为构建坚实的架构打下基础等。
本书对新手程序员和有经验的程序员同样适用,也适合想通过编写Python代码来节省成本和提高效率的团队领导、软件架构师和高级软件工程师参考。当然在阅读本书前,读者应掌握一些Python基础知识。
關於作者:
Mariano Anaya 专注于软件开发和指导同行的软件工程师;感兴趣的主要领域包括软件架构、函数式编程和分布式系统;曾在 2016 年和 2017 年度欧洲 Python 大会及 2019 年度欧洲开源开发者会议(FOSDEM)上发表过演讲。更详细的信息请访问其 GitHub账户(用户名为 rmariano)。
目錄
第 1章 简介、代码格式设置和工具 1
1.1 简介 1
1.1.1 整洁代码的含义 2
1.1.2 整洁代码的重要性 2
1.1.3 一些例外情况 4
1.2 设置代码的格式 4
1.3 文档 7
1.3.1 代码注释 7
1.3.2 文档字符串 8
1.3.3 注解 10
1.3.4 注解是否会取代文档字符串 13
1.4 配置和使用工具 15
1.4.1 类型一致性检查 15
1.4.2 一般性代码验证 17
1.4.3 自动设置格式 18
1.4.4 自动检查设置 20
1.5 小结 21
1.6 参考资料 22

第 2章 符合Python语言习惯的代码 23
2.1 索引和切片 24
2.2 上下文管理器 26
2.3 推导式和赋值表达式 31
2.4 对象的特性、属性及各种方法 34
2.4.1 Python中的下划线 34
2.4.2 特性 36
2.4.3 使用更紧凑的语法创建类 38
2.4.4 可迭代对象 41
2.4.5 容器对象 46
2.4.6 对象的动态属性 47
2.4.7 可调用对象 49
2.4.8 魔法方法小结 50
2.5 Python注意事项 51
2.5.1 可变的默认参数 51
2.5.2 扩展内置类型 52
2.6 异步代码简介 54
2.7 小结 56
2.8 参考资料 56

第3章 优质代码的通用特征 57
3.1 契约式设计 58
3.1.1 前置条件 59
3.1.2 后置条件 60
3.1.3 Python契约 60
3.1.4 契约式设计小结 60
3.2 防御式编程 61
3.2.1 错误处理 61
3.2.2 在Python中使用断言 69
3.3 关注点分离 70
3.4 常见缩略语 71
3.4.1 DRY/OAOO 72
3.4.2 YAGNI 73
3.4.3 KIS 74
3.4.4 EAFP/LBYL 76
3.5 Python中的继承 77
3.5.1 什么情况下使用继承是个好主意 77
3.5.2 反模式的继承 78
3.5.3 Python中的多继承 81
3.6 函数和方法中的参数 83
3.6.1 Python中函数参数的工作原理 84
3.6.2 函数的参数数量 91
3.7 有关软件设计最佳实践的最后说明 94
3.7.1 软件中的正交性 94
3.7.2 结构化代码 95
3.8 小结 96
3.9 参考资料 97

第4章 SOLID原则 98
4.1 单一职责原则 98
4.1.1 一个职责过多的类 99
4.1.2 分配职责 100
4.2 开/闭原则 101
4.2.1 因未遵循OCP而带来可维护性问题的示例 102
4.2.2 重构事件系统以提高可扩展性 104
4.2.3 扩展事件系统 106
4.2.4 OCP小结 107
4.3 里氏替换原则 108
4.3.1 使用工具找出LSP问题 109
4.3.2 更微妙的LSP违反情形 111
4.3.3 LSP小结 113
4.4 接口分离 114
4.4.1 一个提供了太多功能的接口 115
4.4.2 接口越小越好 115
4.4.3 接口应多小 117
4.5 依赖倒置 117
4.5.1 一个刚性依赖案例 118
4.5.2 倒置依赖 118
4.5.3 依赖注入 119
4.6 小结 121
4.7 参考资料 122

第5章 使用装饰器改善代码 123
5.1 Python装饰器是什么 123
5.1.1 函数装饰器 124
5.1.2 类装饰器 125
5.1.3 其他类型的装饰器 129
5.2 高级装饰器 129
5.2.1 向装饰器传递参数 129
5.2.2 指定了参数默认值的装饰器 133
5.2.3 协程装饰器 135
5.2.4 扩展的装饰器语法 137
5.3 充分利用装饰器 138
5.3.1 调整函数的签名 139
5.3.2 验证参数 140
5.3.3 跟踪代码 140
5.4 有效的装饰器:避免常见错误 140
5.4.1 保留被包装的原始对象的数据 140
5.4.2 在装饰器中处理副作用 143
5.4.3 创建在任何情况下都管用的装饰器 146
5.5 装饰器与整洁的代码 149
5.5.1 组合胜过继承 149
5.5.2 DRY原则与装饰器 152
5.5.3 装饰器与关注点分离 153
5.5.4 分析优良的装饰器 154
5.6 小结 155
5.7 参考资料 156

第6章 使用描述符更充分地利用对象 157
6.1 初识描述符 157
6.1.1 描述符背后的机制 157
6.1.2 探讨描述符协议中的各个方法 160
6.2 描述符类型 167
6.2.1 非数据描述符 167
6.2.2 数据描述符 169
6.3 使用描述符 171
6.3.1 描述符的一种用途 171
6.3.2 各种描述符实现方式 175
6.3.3 使用描述符时需要考虑的其他方面 178
6.4 分析描述符 182
6.4.1 Python如何在内部使用描述符 182
6.4.2 在装饰器中实现描述符 187
6.5 描述符结语 188
6.5.1 描述符的接口 188
6.5.2 描述符的面向对象设计 188
6.5.3 描述符中的类型注解 188
6.6 小结 189
6.7 参考资料 189

第7章 生成器、迭代器和异步编程 190
7.1 技术要求 190
7.2 创建生成器 190
7.2.1 初识生成器 191
7.2.2 生成器表达式 193
7.3 以惯用法迭代 195
7.4 协程 205
7.4.1 生成器接口中的方法 205
7.4.2 高级协程 210
7.5 异步编程 216
7.5.1 异步魔法方法 217
7.5.2 异步迭代 219
7.5.3 异步生成器 221
7.6 小结 222
7.7 参考资料 223

第8章 单元测试和重构 224
8.1 设计原则与单元测试 224
8.1.1 其他形式的自动测试 225
8.1.2 单元测试与敏捷软件开发 226
8.1.3 单元测试与软件设计 227
8.1.4 确定测试范围 230
8.2 测试工具 230
8.3 重构 248
8.3.1 代码演进 249
8.3.2 需要演进的并非只有生产代码 251
8.4 再谈测试 252
8.4.1 基于属性的测试 252
8.4.2 变异测试 253
8.4.3 常见的测试概念 255
8.4.4 测试驱动开发简介 256
8.5 小结 257
8.6 参考资料 257

第9章 常见设计模式 259
9.1 在Python中使用设计模式时需要注意的事项 260
9.2 设计模式实战 261
9.2.1 创建型模式 261
9.2.2 结构型模式 267
9.2.3 行为型模式 273
9.3 空对象模式 283
9.4 设计模式结语 284
9.4.1 模式对设计的影响 285
9.4.2 作为理论的设计模式 286
9.4.3 模型中的名称 286
9.5 小结 286
9.6 参考资料 287

第 10章 整洁的架构 288
10.1 从整洁代码到整洁架构 288
10.1.1 关注点分离 289
10.1.2 大一统的应用程序和微服务 290
10.1.3 抽象 291
10.2 软件组件 292
10.2.1 包 292
10.2.2 Docker容器 298
10.2.3 用例 299
10.2.4 服务 303
10.3 小结 308
10.4 参考资料 309

结语 310

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.