您好,欢迎来到聚文网。 登录 免费注册
编写整洁的Python代码 第2版

编写整洁的Python代码 第2版

  • 字数: 381000
  • 装帧: 平装
  • 出版社: 人民邮电出版社
  • 作者: (西)马里亚诺·阿那亚
  • 出版日期: 2022-09-01
  • 商品条码: 9787115588111
  • 版次: 1
  • 开本: 16开
  • 页数: 328
  • 出版年份: 2022
定价:¥89.8 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
编辑推荐
1. 介绍实现Python代码整洁应遵循的基本原则 2. 涵盖避免由不良代码导致的效率低下以及存在诸多隐患的代码的方法 3. 作者Mariano Anaya,软件工程师,专业背景深厚,项目经验丰富 4. 基于新的Python 3.9,方便读者学习
内容简介
这是一本介绍如何实现Python代码整洁的书,主要介绍如何使用Python3.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.1Python中的下划线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.5Python注意事项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.3Python契约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.1DRY/OAOO72
3.4.2YAGNI73
3.4.3KIS74
3.4.4EAFP/LBYL76
3.5Python中的继承77
3.5.1什么情况下使用继承是个好主意77
3.5.2反模式的继承78
3.5.3Python中的多继承81
3.6函数和方法中的参数83
3.6.1Python中函数参数的工作原理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.4OCP小结107
4.3里氏替换原则108
4.3.1使用工具找出LSP问题109
4.3.2更微妙的LSP违反情形111
4.3.3LSP小结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.1Python装饰器是什么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.2DRY原则与装饰器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.1Python如何在内部使用描述符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.2Docker容器298
10.2.3用例299
10.2.4服务303
10.3小结308
10.4参考资料309
结语310

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网