电子书:《Python面向对象编程指南》

[复制链接]
查看174 | 回复1 | 2019-12-15 08:48:07 | 显示全部楼层 |阅读模式

《Python面向对象编程指南》_1

《Python面向对象编程指南》_1

《Python面向对象编程指南》_2

《Python面向对象编程指南》_2

《Python面向对象编程指南》_3

《Python面向对象编程指南》_3


内容简介:

图书在版编目(CIP)数据
Python面向对象编程指南/(美)洛特(Lott,S.F.)
著;张心韬,兰亮译.一北京:人民邮电出版社,
2016.3(2016.12重印)
ISBN978-7-115-40558-6
I.①洛…②张…③兰…Ⅲ.①软件工
中guo版本图书馆CIP数据核字(2015)第310843号
版权声明
mpyright 92014 Packt Publishing. First published in the English language under the title
Mastering Object-oriented Python
本书由英guo Packt Publishing公可授权人民邮电出版社出版。,未经出版者书面许可,对本书的任何部分不得
以任何方式或任何手段复制和传播
版权所有,侵权必究
[美] Steven F.Lot
责任编辑陈冀康
执行编辑胡俊英
责任印制张佳莹焦志炜
人民邮电出版社出版发行北京市丰台区成寿路11号
编100164电子件315 a ptpress. com cn
网址hupi/www.ptpress.com
北京京华虎彩印刷有限公司印刷
字数:712千字
2016年12月北京第2次印用
作权合同登记号图字:01-2014-6030号
定价:79.00元
读者服务热线010)81055410印装质量热线010)81055316
反盗版热线010)81055315
内容提要
Python是一种面向对象、解释型的程序设计语言,它已经被成功应用于科学计算、数据分析以
及游戏开发等诸多领域
本书深入介绍 Python语言的面向对象特性,全书分3个部分共18章。第1部分讲述用特殊方
法实现 Python风格的类,分别介绍了init0方法、与 Python无缝集成一一基本特殊方法、属性
访问和特性及修饰符、抽象基类设计的一致性、可调用对象和上下文的使用、创建容器和集合、创
建数值类型、装饰器和 mixinー横切方面;第2部分讲述持久化和序列化,分别介绍了序列化和
保存、用 Shelve保存和获取对象、用 Sqlite保存和获取对象、传输和共享对象、配置文件和持久
化:第3部分讲述测试、调试、部署和维护,分别介绍了 Logging和 Warning模块、可测试性的设
计、使用命令行、模块和包的设计、质量和文档
本书深入剖析 Python,助读者全面掌握 Python并构建出更好的应用程序,非常适合对 Python
语言有一定了解并想要深入学习 Python的读者,也适合有一定开发经验并且想要尝试使用 Python
语言进行编程的IT从业人员
译者简介
张心韬新加坡guo立大学系统分析硬土,北京航空航天大学北海学院软件工程学士。曾经就
职于NEC(新加坡)和 Mobileone(新加坡),目前投身金融领域,就职于 Goswiff(新加坡),担
任NET软件工程师,负责支付系统的研发工作。
他在编程领域耕耘数年,涉猎甚广,但自认“既非菜鸟,也非高人”。目前长期专注于NET
平台,对 Python也甚为喜爱。业余时间爱好甚广,尤其喜欢学习中医知识,对时间管理、经济和
历史也略有涉猎
兰亮北京航空航天大学北海学院软件工程学土,IT行业一线“码农”,曾获评“微软2014
年度MVP”和“微软2015年度MVP"。曾一度混迹于飞信(中guo)、NEC(新加坡)和 Mobile
(新加坡),现就职于 Keritos(新加坡),从事在线游戏研发工作
他虽然涉猎广泛,但钟爱开源,长期关注前沿技术,并且对算法、函数式编程、设计模式以
及T文化等有着浓厚兴趣。工作之余,他喜欢在 Courser I階课。作为一个热爱生活的人,他在钻
研技术之余,还喜欢健身、旅行,立志成为一个阳光、向上的“码农”
本书主要介绍 Python语言的高级特性,特别是如何编写高质量的 Python程序。这通常意味着
编写高性能且拥有良好可维护性的程序。同时,我们也会探究不同的设计方案并确定究竟是哪种方
案提供了最佳性能。而对于一些正在寻找解决方案的问题,这也是一种很好的方式
本书的大部分内容将介绍一种给定设计的不同替代方案。一些方案性能更好,另一些方案更加
简单或者更加适合于特定领域的问题,最重要的是,找到最好的算法和最优的数据结构,以最少的
开销换取最大的价值。时间就是金钱,高效的程序会为它们的用户创造更多的价值
Python的很多内部特性都可以直接被应用程序所使用。这意味着,我们的程序可以与 Python
现有的特性非常好地整合。充分利用这些 Python特性,可以让我们的面向对象设计整合得很好。
我们经常会为一个问题寻找多种不同的解决方案。当你评估不同的算法和数据结构时,通常会
设计几种不同的方案,它们在性能和_内.存_的使用上不尽相同。通过评估不同的方案,最终合理地优
化应用程序,这是一种重要的面向对象设计技巧
本书一个更为重要的主题是,对于任何问题,没有所谓的唯一且最好的方法。相反,会有许多
不同的方案,而这些方案也各有优劣
关于编程风格的主题非常有趣。敏锐的读者会注意到,在一些非常细微的部分,例如在名称选
择和符号的使用上,并非所有的例子都完全符合PEP-8。
随着你能够越来越熟练地以面向对象的方式使用 Python,也将不得不花大量的时间去阅读各种
Python源码。你会发现,甚至在 Python标准库的模块中,都有很大的可变性。相比于展示完全二
致的例子,我们更倾向于去关注那些不一致的部分,正如我们在各种开源项目中所看到的,一致性
的缺乏,正是对代码更好的认可
本书涵盖的内容
我们会用一些章节深入讲解 Python的3个高级主题
些预备知识,主要讲解一些基本的主题,例如 unittest、 doctest、 docstrings
以及一些特殊的函数名
第1部分“用特殊方法实现 Python风格的类”,这个部分着重讲解面向对象编程以及如何更好
地将 Python内置的特性和我们的类进行集成,这个部分包括以下8章
第1章“init_0方法”,详细讲解了_1nit_()的功能和实现,我们会用不同的方式初
些简单的对象。接着,我们会尝试初始化更加复杂的对象,例如集合和容器
第2章“与 Python无缝集成一一基本特殊方法”,讲解如何通过加入特殊函数来扩展一个
简单的类。我们需要了解继承的默认行为,以便理解怎样的重写是必需的,以及什么时候
应该使用重写
第3章“属性访问、特性和修饰符”,主要讲解了默认情况下它们是如何工作的。我们需
要决定在什么时候在什么地方重写默认行为。我们还将探讨描述符的细节,以便更好地理
解 Python的内部工作机制
第4章“抽象基类设计的一致性”,主要关注co1 lections.abc模块中的抽象基类。我
们会探讨 collections和 containers的基本概念,主要关注那些常被扩展和修改的部分。类似
地,我们还会探讨 numbers I的基本概念,主要关注那些常被实现的部分
第5章“可调用对象和上下文的使用”,主要讲述了使用 context1ib提供的方法以不同
的方式来创建上下文管理器。我们会讲解可调用对象的一系列不同设计以及为什么有时候
一个有状态的可调用对象会比一个简单的函数更加有用。在我们定制自已的上下文管理器
之前,我们还会探讨如何使用 Python中内置的上下文管理器
第6章“创建容器和集合”,关注 container类的基本使用。我们会探讨在创建容器过程中
会调用的各种特殊函数。同时,我们也会探讨如何扩展内置容器以添加新特性。最后,我
们将封装内置容器,然后通过委托方法让基础容器可以使用这些封装
第7章“创建数值类型”,涵盖了这些基本的运算符:+、一、*、、∥、?。同时,我
们也会介绍比较运算符,包括<、>、<=、=、一和=。最后,我们会总结一些在扩展和
定制自己的数值类型时需要注意的设计要点
第8章“裝饰器和 mixin-一横切方面”,涵盖了简单函数
带参数的函数修饰
类修饰符和方法修饰符
第2部分“持久化和序列化”介绍一个序列化到存储介质的持久化对象,它可能是转换为JSON
后写入文件系统的,也可能是通过ORM存储到数据库的。这个部分会着重探讨持久化的不同方法
包括以下5章
。第9章“序列化和保存一JSON、YAML、 Pickle、CSV和XML”,涵盖了对不同数据格
式做简单的持久化时可使用的现有的库,例如JSON、YAML、 Pickle、XML和CSV
第10章“用 Shelve 1保存和获取对象”,探讨了使用 Python模块进行简单的数据库操作
例如 Shelve和dbm
第11章“用 Sqlite保存和获取对象”,进入更加复杂的SQL和关系数据库的世界。因为
QL的特性并不符合面向对象设计的原则,我们会遇到“阻抗不匹配”问题。一个通用的

#############################################


回复

使用道具 举报

那年夏天的歌 | 2019-12-21 19:52:10 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则