🔥Python进阶:实战开发,让你的技能更上一层楼🔥

👌你是否曾为Python的强大功能而惊叹,却苦于找不到一本真正深入浅出的教程?今天,我要为你推荐一本实用至上的Python进阶指南——《Python进阶:实际应用开发实战》。这本书将带你领略Python的魅力,助你从新手蜕变为大师。

👌一、实用为王,轻松入门

🔶对于初学者来说,这本书是一个完美的起点。作者精心设计了12章内容,从环境配置、模块架构到测试、打包发布等实用技能,一应俱全。不仅如此,书中还提供了大量示例代码,这些代码均贴近实际项目,可帮助读者迅速上手。

😎二、进阶之路,逐层深入

✨如果你已经有一定的Python基础,那么这本书将是你进阶的必选之作。书中第二部分深入讲解了Web开发、框架设计、接口设计等高级主题,带你探索Python的深层次应用。同时,第三部分重点介绍了并行、异步、业务逻辑等应用场景下的最佳实践,助你掌握Python的精髓。

🚀三、紧跟时代,与时俱进

👉值得一提的是,《Python进阶:实际应用开发实战》还重点讲解了Python 3.8版本的新特性,如数据类、类型提示、字符串操作等。让你在掌握最新技术的同时,也了解Python的发展趋势。

🚀四、内容丰富,涵盖广泛

🏆除了前面提到的内容,这本书还涉及了Python中数据聚合、数据可视化等内容。第9章中,作者还介绍了如何编写数据查询方法及其相关过滤器的实现,这在数据分析的过程中具有很高的应用价值。此外,第10章全面介绍了Python代码性能优化的技巧与工具,包括优化控制流、使用缓存等方法,这些内容对编写高性能Python程序很有帮助。第11章关于异常处理、日志记录的内容也同样实用,读者可以学习到在Python开发中实现容错的最佳实践。最后,全书论及Python高级特性如生成器、协程的实现都是相当到位的。在介绍异步开发时,作者具体展示了如何使用asyncio实现异步Web应用,这部分内容值得开发者研读与参考。

🏆五、图文并茂,阅读体验佳

👋为了让读者更好地理解书中的内容,《Python进阶:实际应用开发实战》在公众号中配合精美的图片进行展示。每一章的开始,都会有相关的图片作为引导图,帮助读者快速了解章节内容。同时,在关键部分也会配有图片进行解释说明,让复杂的概念变得一目了然。

✨无论你是初学者还是有一定经验的开发者,《Python进阶:实际应用开发实战》都是你不可或缺的进阶指南。它不仅教你如何使用Python进行开发,更让你深入了解Python的底层原理和最佳实践。现在点击下方链接,即刻开启你的Python进阶之旅吧!

👆请点击上面《Python进阶》了解更多详情!👆

书籍信息

书名: Python进阶
作者: [英] 马修·威尔克斯(Matthew Wilkes)
出版社: 机械工业出版社
出品方: 华章科技
副标题: 实际应用开发实战
原作名: Advanced Python Development
译者: 赵利通
出版年: 2022-2-1
页数: 456
定价: 129.00元
装帧: 平装
丛书: 华章程序员书库
ISBN: 9787111701040

Python进阶

内容简介

●在介绍Python的一些强大特性时,人们常常编造一些示例,以孤立的示例解释各种特性。通过设计并构建真实的应用程序,从设计原型一直演示到开发出符合生产质量要求的应用程序,整个过程不只让你了解各种特性如何工作,还会让你看到它们如何作为更大的系统设计过程的组成部分集成起来。另外,本书还会提供一些有用的注意项,并推荐一些库,这些内容是Python大会问答环节的主要关注点。本书还会讨论现代Python开发的最佳实践和技术,帮助你编写清晰的、易于维护的代码。
●本书针对的是已经能够使用Python编写简单程序但想要理解什么时候适合使用高级特性的开发人员,让他们能够自如地使用这些高级特性。想要提升自身Python编程水平以及已经具有丰富的经验但希望了解新版本Python特性的开发人员,都特别适合阅读本书。
【本书内容】
本书精心挑选了主题,旨在介绍Python编程的各个不同方面。Python社区作为一个整体没有充分理解或者利用这些方面,而且在指导新人时,不会把它们理所当然地教给新人。这并不是说这些特性一定很复杂,或者很难理解(当然有些特性确实如此),我相信,所有程序员都应该熟悉这些特性,即使他们并不会用到这些特性。
●第1章将介绍使用Python编写简单程序的不同方式,还会介绍Jupyter记事本以及Python调试器的用法。虽然这两者都是相对来说为人熟知的工具,但很多人只熟悉其中的一个工具,而不是两者都能够熟练使用。本章还会介绍编写命令行接口的不同方式,以及一些有用的第三方库,它们支持简洁的命令行工具开发。
●第2章将介绍帮助识别代码中的错误的工具,例如自动测试和linting工具。无论是编写大型代码库、很少需要编辑的代码库,还是要吸收第三方贡献的代码库,这些工具都能够让你更容易地写出让自己有信心的代码。这里介绍的工具都是我推荐的工具,但是,本章的关注点是理解它们的优缺点。你可能已经使用过其中的一个或多个工具,并且对于是否适合使用它们有自己的观点。本章将帮助你理解权衡点,从而做出明智的决定。
●第3章将介绍Python中的代码打包和依赖项分发。对于编写可分发给其他人的应用程序,以及设计能够可靠工作的部署系统来说,这些都是重要的功能。我们将使用这些功能,把独立的脚本转换为可安装的应用程序。
●第4章将介绍插件架构。这是一种强大的功能。经常可以看到学习插件架构的人使用它,这导致讲解Python的人们对于是否讲解插件架构持谨慎态度。对于我们的示例,插件架构十分适用。本章还将介绍一些用于命令行工具的高级技术,它们能够让调试基于插件的系统变得更加容易。
●第5章将介绍Web接口和编写复杂函数的技术,如装饰器和闭包。这些技术在Python中已经是习语,但在其他许多编程语言中很难表达。本章还将介绍如何恰当地使用抽象基类。人们常常不建议使用抽象基类,因为学习抽象基类的人倾向于到处使用它们。在特定场景中,有节制地使用抽象基类是有优势的,当把抽象基类与第2章介绍的一些工具结合使用时更是如此。
●第6章将用另一个重要组件扩展我们的示例,这个组件就是收集数据的聚合服务器。本章还将演示Python程序员会用到的一些最重要的第三方库,例如requests库。
●第7章将介绍Python中的线程和异步编程。线程常常会导致难以探查的bug。异步代码能够用于类似的任务,但许多Python程序员还没有使用过这种习语,因为使用异步编程时,程序的行为与同步编程有很大区别。本章重点讨论在真实场景中如何使用并发来实现某个结果,而不只是演示一个简单的示例,或者演示异步编程的局限性。本章旨在得到能够在真实场景中使用的代码,并让你彻底理解权衡点,而不是进行独立的技术演示。
●第8章将更加深入地介绍异步编程,讲解异步代码的测试以及一些第三方库。使用这些库能够编写在异步上下文中处理外部工具(如数据库)的代码。本章还将简要地介绍一些可以用来编写出色API的高级技术,例如上下文管理器和上下文变量,它们对于异步编程很有帮助。
●第9章返回Jupyter,使用它的一些功能来实现数据可视化和方便的用户交互。我们将介绍如何在Jupyter记事本中把异步代码用于小部件,还将介绍迭代器的高级用法和实现复杂数据类型的多种方式。
●第10章将详细介绍如何让Python代码运行得更快,如何使用不同类型的缓存,以及这些缓存适用的场景。本章还将介绍如何对应用程序中的各个Python函数进行基准测试,以及如何解读结果以找出速度缓慢的原因。
●第11章将扩展本书前面介绍过的一些概念,以更加优雅地处理错误。我们将介绍如何修改插件架构,以便无缝地处理错误,同时保留完整的向后兼容性,还将深入介绍如何设计在遇到错误时就处理错误的过程。
●第12章将使用Python的迭代器和协程来增强我们开发的仪表板,为它们添加一些功能,这些功能不是实现被动的数据收集,而是主动检查收集到的数据,从而允许我们构建包含多个步骤的分析流。

作者简介

马修-威尔克斯
(Matthew Wilkes)
一名经验丰富的开发人员,他使用Python开发Web项目已经有15年了。除了开发软件外,他还长期为Python开发人员提供指导,积极推动开源软件的发展,并为许多流行的框架提交过代码。他对开源软件的贡献主要集中在数据库的细节以及Web框架的安全交互方面。

书籍目录

●第1章 原型设计和环境1
1.1 Python中的原型设计1
1.1.1 使用REPL设计原型2
1.1.2 使用Python脚本设计原型5
1.1.3 使用脚本和pdb设计原型6
1.1.4 使用Jupyter设计原型9
1.1.5 本章的原型设计11
1.2 环境设置13
1.3 创建新项目14
1.3.1 设计脚本原型15
1.3.2 安装依赖项18
1.4 导出到.py文件20
1.5 构建命令行接口22
1.5.1 sys模块和argv23
1.5.2 argparse24
1.5.3 click26
1.6 打破界限28
1.6.1 远程内核28
1.6.2 开发不能在本地运行的代码32
1.7 完成后的脚本34
1.8 小结36
更多资源36
●第2章 测试、检查和linting37
2.1 测试40
2.1.1 何时编写测试42
2.1.2 创建格式化函数来提高可测试性43
2.1.3 pytest46
2.2 类型检查56
2.2.1 安装mypy57
2.2.2 添加类型提示58
2.2.3 子类和继承60
2.2.4 泛型类型62
2.2.5 调试以及过度使用类型64
2.2.6 何时使用类型,何时避免使用类型66
2.2.7 将类型提示与代码分离67
2.3 linting68
2.3.1 安装flake8和black69
2.3.2 修复现有代码70
2.3.3 自动运行71
2.3.4 拉取时运行73
2.4 小结74
更多资源75
●第3章 打包脚本76
3.1 术语77
3.2 目录结构77
3.3 安装脚本和元数据80
3.4 依赖项80
3.5 声明式配置82
3.5.1 在setup.py中需要避免的事项82
3.5.2 使用setup.cfg86
3.6 自定义索引服务器88
3.6.1 创建pypiserver90
3.6.2 持久性91
3.6.3 保密性92
3.6.4 完整性92
3.6.5 wheel格式和在安装时执行代码93
3.7 使用入口点安装控制台脚本95
3.8 README、DEVELOP和CHANGES97
3.8.1 Markdown格式97
3.8.2 reStructuredText格式99
3.8.3 README101
3.8.4 CHANGES.md和版本化101
3.9 上游依赖项版本锁定103
3.9.1 宽松锁定103
3.9.2 严格锁定104
3.9.3 应该使用哪种锁定方案105
3.10 上传版本105
3.11 小结107
更多资源107
●第4章 从脚本到框架109
4.1 编写传感器插件110
4.2 添加新的命令行选项113
4.2.1 子命令113
4.2.2 命令选项116
4.2.3 错误处理117
4.2.4 通过实参类型将解析工作
交给click120
4.2.5 自定义click实参类型121
4.2.6 常用选项123
4.3 允许使用第三方传感器插件124
4.3.1 使用固定名称检测插件126
4.3.2 使用入口点检测插件127
4.3.3 配置文件129
4.3.4 环境变量132
4.3.5 apd.sensors与类似程序的方法对比133
4.4 小结133
更多资源134
●第5章 其他接口136
5.1 Web微服务136
5.1.1 WSGI137
5.1.2 API设计142
5.1.3 Flask144
5.1.4 Python装饰器146
5.1.5 测试视图函数157
5.1.6 部署159
5.2 将软件作为第三方软件扩展160
5.2.1 与其他开发人员就签名达成一致165
5.2.2 抽象基类167
5.2.3 后备策略170
5.2.4 综合运用174
5.3 修复代码中的序列化问题176
5.4 版本化API180
5.5 小结183
更多资源183
●第6章 聚合过程185
6.1 cookiecutter185
6.2 创建聚合包189
6.2.1 数据库类型190
6.2.2 示例192
6.2.3 对象–关系映射器193
6.2.4 版本化数据库197
6.2.5 加载数据202
6.3 新技术209
6.3.1 数据库210
6.3.2 自定义特性行为210
6.3.3 生成器210
6.4 小结210
更多资源211
●第7章 并行和异步212
7.1 非阻塞IO213
7.2 多线程与多进程218
7.2.1 低级线程219
7.2.2 字节码222
7.2.3 锁与死锁225
7.2.4 避免全局状态229
7.2.5 其他同步原语234
7.2.6 ProcessPoolExecutor241
7.2.7 使代码使用多线程241
7.3 asyncio242
7.3.1 asyncdef242
7.3.2 await243
7.3.3 asyncfor245
7.3.4 asyncwith249
7.3.5 异步锁定原语249
7.3.6 使用同步库251
7.3.7 使代码异步化252
7.4 比较255
7.5 做出选择255
7.6 小结257
更多资源258
●第8章 高级asyncio259
8.1 测试异步代码259
8.1.1 测试代码260
8.1.2 模拟对象以方便进行单元测试267
8.2 异步数据库276
8.2.1 经典SQLAlchemy风格277
8.2.2 使用run_in_executor280
8.2.3 查询数据282
8.2.4 避免复杂查询284
8.2.5 其他方案293
8.3 异步代码中的全局变量294
8.4 小结296
更多资源297
●第9章 查看数据298
9.1 查询函数298
9.1.1 过滤数据303
9.1.2 多层迭代器306
9.1.3 其他过滤器312
9.1.4 测试查询函数313
9.2 显示多个传感器316
9.3 处理数据319
9.4 与Jupyter小部件进行交互323
9.4.1 增加嵌套的同步和异步代码324
9.4.2 进行整理329
9.5 持久端点330
9.6 绘制地图和地理数据330
9.6.1 新的图类型333
9.6.2 在apd.aggregation中支持地图类型的图335
9.6.3 使用新配置绘制自定义地图337
9.7 小结339
更多资源340
●第10章 加快速度341
10.1 优化函数341
10.1.1 性能分析和线程343
10.1.2 解读profile报表345
10.1.3 其他性能分析器348
10.2 优化控制流352
10.2.1 可视化性能分析数据356
10.2.2 缓存360
10.3 小结369
更多资源369
●第11章 容错371
11.1 错误处理371
11.1.1 从容器获取项372
11.1.2 自定义异常377
11.1.3 涉及多个异常的堆栈跟踪380
11.1.4 测试异常处理383
11.2 警告388
11.3 日志393
11.3.1 嵌套记录器394
11.3.2 自定义动作396
11.3.3 记录配置400
11.3.4 其他处理程序402
11.4 设计时规避问题402
11.5 小结407
更多资源408
●第12章 回调与数据分析409
12.1 生成器的数据流409
12.1.1 使用自己的输出的生成器411
12.1.2 增强的生成器414
12.1.3 队列420
12.1.4 选择控制流422
12.2 动作的结构423
12.2.1 分析协程424
12.2.2 摄入数据429
12.2.3 运行分析进程432
12.3 进程状态434
12.4 扩展可用的动作439
12.5 小结441
更多资源442
后记443

版权声明:
作者:admin
链接:https://manboo.net/167.html
来源:学习笔记
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
QQ群
< <上一篇
下一篇>>
文章目录
关闭
目 录