Python面向对象编程指南 封面

Python面向对象编程指南

评分 3.4
字数
712字
章节数
21
ISBN
9787115405586

标签

内容简介

本书是美国软件工程师 Steven F. Lott 的《Mastering Object-Oriented Python》中文版,面向已经能读写 Python 代码、希望进一步掌握“Python 式”面向对象设计的开发者。全书分为三部分,共 18 章。 第一部分讲如何用特殊方法与装饰器实现 Python 风格的类:从 __init__() 方法与隐式的 object 基类讲起,系统梳理与内置功能无缝集成的基本特殊方法,再到属性和特性(property)与修饰符、抽象基类与设计的一致性、可调用对象与上下文管理器,以及如何创建容器、集合和数值类型,最后介绍装饰器与 mixin 这一类横切技术。 第二部分讲对象的持久化与序列化:涵盖用 JSON、YAML、Pickle、CSV、XML 等格式序列化和保存对象,用 Shelve 和 SQLite 保存、获取对象,对象在进程之间的传输与共享,以及配置文件与持久化方案的选择。 第三部分回到工程实践:Logging 与 Warning 模块的使用、可测试性的设计、命令行接口的编写、模块与包的组织、代码质量与文档。书中配有大量可运行的示例代码,帮助读者把类设计、数据持久化与测试部署串联成完整流程。

编辑推荐

很多 Python 开发者写过一些类,却很少真正读透“类在 Python 中是怎样被语言机制调用的”,本书正好补上这块。它围绕特殊方法、属性协议、抽象基类和容器与数值协议展开,把原理和可运行的示例放在一起讲,能帮助读者从“会写 class”走到“会设计可复用、可测试的类”。 本书难得的地方,是把对象设计与工程实践接在一起:序列化、持久化、配置文件、日志、命令行和包结构都是实际项目一定会碰到的话题,而多数面向对象入门书往往到类继承就停了。第二部分对 Shelve、SQLite 等存储方案的比较也有助于读者判断哪种持久化方式适合当前场景。 需要提醒的是,本书基于 Python 3 早期版本编写,示例中的写法如今大体可用,但涉及三方库版本、示例文件路径等细节时仍需自行调整。它更像一本题材扎实的进阶读本,而非新手的第一本 Python 书:慢慢读、跟着敲,收获会比通读一遍大得多。

适合谁读

适合

  • 已掌握 Python 基本语法、会写简单类的开发者
  • 希望弄清特殊方法与 Python 内置协议的中级程序员
  • 需要设计可复用、可测试代码库的后端或数据工程从业者
  • 想系统补齐序列化、持久化、日志与打包等工程技能的读者

不适合

  • 尚未写过 Python、需要从零入门的初学者
  • 只想找速查手册或速成速记内容的读者
  • 需要 Python 3.10 以上版本新特性(如 match、新类型标注)的系统讲解的人

阅读建议

  1. 先通读第一部分,边读边为本地的示例类补上 __repr__、__eq__、__iter__ 等常见特殊方法。
  2. 第二部分的持久化章节建议结合自己的小项目实践,对比 JSON、Pickle 与 SQLite 的适用场景。
  3. 遇到抽象基类和 mixin 章节时回看前文示例,尝试把旧代码重构为更松散耦合的结构。
  4. 阅读时留意示例所用的 Python 与三方库版本,在当前环境中运行并适当修改,避免照抄报错。

出版社简介

人民邮电出版社 中国 · 成立于 1953 年

人民邮电出版社以科技、计算机与信息通信类图书见长,并由此延伸至摄影、艺术、软件学习与励志成长等门类,形成较为多元的出版方向。库内图书既涵盖《重构与模式(修订版)》《华为交换机学习指南(第二版)》等计算机与通信技术读物,也收录《小王子(中英法彩绘典藏纪念版)》《了不起的盖茨比》《假如给我三天光明》等双语典藏类作品;《北京十年:1980-1990》与《鬼刀 WLOP个人插画作品集》则体现其在摄影与艺术领域的布局。作者资源包括安东尼·圣埃克苏佩里、海伦·凯勒、Joshua Kerievsky、王达、张兆增与WLOP等。

目录

  1. 第1部分 用特殊方法实现 Python 风格的类
  2. 第1章 __init__() 方法
  3. 第2章 与 Python 无缝集成——基本特殊方法
  4. 第3章 属性访问、特性和修饰符
  5. 第4章 抽象基类与设计的一致性
  6. 第5章 可调用对象和上下文的使用
  7. 第6章 创建容器和集合
  8. 第7章 创建数值类型
  9. 第8章 装饰器和 mixin——横切方面
  10. 第2部分 持久化和序列化
  11. 第9章 序列化和保存——JSON、YAML、Pickle、CSV 和 XML
  12. 第10章 用 Shelve 保存和获取对象
  13. 第11章 用 SQLite 保存和获取对象
  14. 第12章 传输和共享对象
  15. 第13章 配置文件和持久化
  16. 第3部分 测试、调试、部署和维护
  17. 第14章 Logging 和 Warning 模块
  18. 第15章 可测试性的设计
  19. 第16章 使用命令行
  20. 第17章 模块和包的设计
  21. 第18章 质量和文档

常见问题

这本书和《流畅的Python》有什么区别?
两者都讲特殊方法,但侧重不同:《流畅的Python》覆盖面更广,涉及数据模型、函数、并发等;本书更聚焦面向对象设计与工程实践,后两部分专门讲序列化、持久化、日志、测试与包结构,适合想专攻类设计的读者。
没有面向对象基础能直接读吗?
不建议。书中默认读者理解类、继承、方法解析顺序等基本概念,若完全没接触过面向对象,最好先读一本 Python 入门书并写过若干自定义类,再回来读本书会顺畅得多。
书中示例的 Python 版本较旧,还适用吗?
核心概念如特殊方法、property、抽象基类、上下文管理器并未改变,仍然适用;但部分三方库接口和示例脚本写法可能已过时,建议在 Python 3 当前版本中运行调试并对照官方文档修正。
这本书适合当作课程教材吗?
可以作为进阶课或项目实训的参考读物,三部分结构清晰、每章主题明确;但它不是按教学进度编排的教材,缺少课后练习与习题解答,需要教师另行补充练习与项目任务。

读者评论

查询本书

本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。

同一作者

同类高分