网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | PYTHON面向对象编程(第4版) |
分类 | 教育考试-考试-计算机类 |
作者 | (美)StevenF.Lott(史蒂文·洛特)(加)DustyPhillips(达斯帝·菲利普斯) |
出版社 | 电子工业出版社 |
下载 | ![]() |
简介 | 内容推荐 这是一本全面介绍Python面向对象编程的图书。本书共分为4部分。第1章至第6章深入讲解了面向对象编程的核心原则和概念,以及它们在Python中的实现方式。第7章至第9章仔细探讨了Python的数据结构、内置类和方法等,以及如何从面向对象编程的角度进行分析和应用。第10章至第12章探讨了设计模式及其在Python中的实现。第13章和第14章涵盖了测试和并发两个重要主题。整本书以一个机器学习分类算法的实现案例贯穿始终,并不断探讨各种实现方式的优劣。 这是一本全面介绍Python面向对象编程的图书。本书共分为4部分。第1章至第6章深入讲解了面向对象编程的核心原则和概念,以及它们在Python中的实现方式。第7章至第9章仔细探讨了Python的数据结构、内置类和方法等,以及如何从面向对象编程的角度进行分析和应用。第10章至第12章探讨了设计模式及其在Python中的实现。第13章和第14章涵盖了测试和并发两个重要主题。整本书以一个机器学习分类算法的实现案例贯穿始终,并不断探讨各种实现方式的优劣。 本书针对的是Python面向对象编程的新手,假设读者具备基本的Python技能。对于有其他面向对象编程语言背景的读者,本书将展示Python的许多特性。 目录 第1章 面向对象设计\t1 1.1 面向对象简介\t1 1.2 对象和类\t3 1.3 定义属性和行为\t6 1.3.1 用数据描述对象的状态\t6 1.3.2 行为就是动作\t9 1.4 隐藏细节并创建公共接口\t10 1.5 组合\t13 1.6 继承\t16 1.6.1 继承提供抽象\t19 1.6.2 多重继承\t19 1.7 案例学习\t21 1.7.1 简介和问题概述\t22 1.7.2 上下文视图\t24 1.7.3 逻辑视图\t27 1.7.4 过程视图\t29 1.7.5 开发视图\t31 1.7.6 物理视图\t33 1.7.7 结论\t34 1.8 回顾\t35 1.9 练习\t35 1.10 总结\t36 第2章 Python的对象\t37 2.1 类型提示\t37 2.2 创建Python的类\t43 2.2.1 添加属性\t44 2.2.2 让它做点什么\t45 2.2.3 初始化对象\t49 2.2.4 类型提示和默认值\t52 2.2.5 使用文档字符串\t53 2.3 模块和包\t56 2.3.1 组织模块\t59 2.3.2 组织模块内容\t63 2.4 谁可以访问我的数据\t68 2.5 第三方库\t69 2.6 案例学习\t72 2.6.1 逻辑视图\t72 2.6.2 样本和状态\t74 2.6.3 样本状态转换\t75 2.6.4 类的职责\t80 2.6.5 TrainingData类\t81 2.7 回顾\t85 2.8 练习\t85 2.9 总结\t86 第3章 当对象相似时\t87 3.1 基本继承\t88 3.1.1 扩展内置对象\t91 3.1.2 重写和super\t94 3.2 多重继承\t96 3.2.1 钻石型继承问题\t100 3.2.2 不同集合的参数\t107 3.3 多态\t110 3.4 案例学习\t114 3.4.1 逻辑视图\t115 3.4.2 另一种距离算法\t120 3.5 回顾\t122 3.6 练习\t122 3.7 总结\t123 第4章 异常捕获\t124 4.1 抛出异常\t125 4.1.1 抛出一个异常\t127 4.1.2 异常的作用\t129 4.1.3 处理异常\t131 4.1.4 异常的层级\t138 4.1.5 定义我们自己的异常\t139 4.1.6 异常并不是例外\t142 4.2 案例学习\t146 4.2.1 上下文视图\t147 4.2.2 过程视图\t148 4.2.3 什么可能出错\t149 4.2.4 错误的行为\t150 4.2.5 通过CSV文件创建样本\t151 4.2.6 验证枚举值\t155 4.2.7 读取CSV文件\t157 4.2.8 不要重复你自己\t159 4.3 回顾\t160 4.4 练习\t161 4.5 总结\t162 第5章 何时使用面向对象编程\t163 5.1 将对象看作对象\t163 5.2 通过属性向类数据添加行为\t170 5.2.1 属性的细节\t173 5.2.2 装饰器――另一种创建属性的方法\t176 5.2.3 决定何时使用属性\t177 5.3 管理器对象\t180 5.3.1 删除重复的代码\t186 5.3.2 实践\t188 5.4 案例学习\t192 5.4.1 输入验证\t192 5.4.2 输入分块\t195 5.4.3 样本的类层级\t196 5.4.4 purpose枚举类\t198 5.4.5 Property setters\t201 5.4.6 重复的if语句\t201 5.5 回顾\t202 5.6 练习\t202 5.7 总结\t203 第6章 抽象基类和运算符重载\t204 6.1 创建抽象基类\t206 6.1.1 collections模块中的抽象基类\t208 6.1.2 抽象基类和类型提示\t211 6.1.3 collections.abc模块\t212 6.1.4 创建自己的抽象基类\t219 6.1.5 揭开魔法的神秘面纱\t224 6.2 运算符重载\t225 6.3 扩展内置类\t232 6.4 元类\t235 6.5 案例学习\t241 6.5.1 用两个子列表扩展list类\t241 6.5.2 分割的洗牌策略\t244 6.5.3 分割的增量策略\t246 6.6 回顾\t249 6.7 练习\t250 6.8 总结\t251 第7章 Python的数据结构\t252 7.1 空对象\t252 7.2 元组和命名元组\t254 使用typing.NamedTuple的命名元组\t257 7.3 数据类\t260 7.4 字典\t264 7.4.1 字典的用例\t270 7.4.2 使用defaultdict\t271 7.5 列表\t275 列表排序\t278 7.6 集合\t285 7.7 3种队列\t289 7.8 案例学习\t293 7.8.1 逻辑模型\t294 7.8.2 冻结的数据类\t297 7.8.3 NamedTuple类\t300 7.8.4 结论\t303 7.9 回顾\t304 7.10 练习\t304 7.11 总结\t306 第8章 面向对象编程和函数式编程\t307 8.1 Python的内置函数\t307 8.1.1 len()函数\t308 8.1.2 reversed()函数\t309 8.1.3 enumerate()函数\t310 8.2 方法重载的另一种方式\t312 8.2.1 参数的默认值\t314 8.2.2 可变参数列表\t319 8.2.3 参数解包\t326 8.3 函数也是对象\t328 8.3.1 函数对象和回调函数\t330 8.3.2 用函数给类打补丁\t336 8.3.3 可调用对象\t338 8.4 文件I/O\t340 把它放在上下文中\t343 8.5 案例学习\t348 8.5.1 处理概述\t348 8.5.2 分割数据\t350 8.5.3 重新思考分类\t351 8.5.4 partition()函数\t354 8.5.5 一次性分割\t355 8.6 回顾\t358 8.7 练习\t359 8.8 总结\t360 第9章 字符串、序列化和文件路径\t361 9.1 字符串\t362 9.1.1 字符串操作\t363 9.1.2 字符串格式化\t366 9.1.3 字符串是Unicode\t377 9.2 正则表达式\t383 9.2.1 模式匹配\t385 9.2.2 用正则表达式解析信息\t394 9.3 文件系统路径\t398 9.4 序列化对象\t402 9.4.1 定制pickle\t405 9.4.2 用JSON序列化对象\t408 9.5 案例学习\t411 9.5.1 CSV格式设计\t412 9.5.2 CSV字典阅读器\t413 9.5.3 CSV列表阅读器\t416 9.5.4 JSON序列化\t418 9.5.5 用换行符分隔的JSON\t420 9.5.6 JSON验证\t421 9.6 回顾\t424 9.7 练习\t424 9.8 总结\t426 第10章 迭代器模式\t427 10.1 设计模式简介\t427 10.2 迭代器\t428 迭代器协议\t429 10.3 推导式\t432 10.3.1 列表推导式\t432 10.3.2 集合和字典推导式\t435 10.3.3 生成器表达式\t436 10.4 生成器函数\t439 10.4.1 通过另一个可迭代对象产生元素\t444 10.4.2 生成器堆栈\t446 10.5 案例学习\t450 10.5.1 相关集合知识\t451 10.5.2 多分区\t452 10.5.3 测试\t457 10.5.4 基本的KNN算法\t459 10.5.5 使用bisect模块的KNN\t460 10.5.6 使用headq模块的KNN\t462 10.5.7 结论\t462 10.6 回顾\t465 10.7 练习\t465 10.8 总结\t467 第11章 通用设计模式\t468 11.1 装饰器模式\t469 11.1.1 装饰器模式示例\t470 11.1.2 Python中的装饰器\t478 11.2 观察者模式\t482 观察者模式示例\t483 11.3 策略模式\t487 11.3.1 策略模式示例\t488 11.3.2 Python中的策略模式\t492 11.4 命令模式\t493 命令模式示例\t494 11.5 状态模式\t499 11.5.1 状态模式示例\t500 11.5.2 状态模式与策略模式\t508 11.6 单例模式\t509 单例模式的实现\t510 11.7 案例学习\t515 11.8 回顾\t524 11.9 练习\t525 11.10 总结\t526 第12章 高级设计模式\t527 12.1 适配器模式\t527 适配器模式示例\t529 12.2 外观模式\t533 外观模式示例\t534 12.3 享元模式\t538 12.3.1 Python中的享元模式示例\t540 12.3.2 包含多条消息的缓冲区\t547 12.3.3 使用Python的__slots__优化内存\t549 12.4 抽象工厂模式\t551 12.4.1 抽象工厂模式示例\t552 12.4.2 Python中的抽象工厂模式\t558 12.5 组合模式\t559 组合模式示例\t561 12.6 模板模式\t567 模板模式示例\t568 12.7 案例学习\t574 12.8 回顾\t577 12.9 练习\t577 12.10 总结\t579 第13章 测试面向对象的程序\t580 13.1 为什么要测试\t580 13.1.1 测试驱动开发\t582 13.1.2 测试目标\t583 13.1.3 测试模式\t584 13.2 使用unittest进行单元测试\t586 13.3 使用pytest进行单元测试\t588 13.3.1 pytest的设置和清理函数\t591 13.3.2 pytest用于设置和清理的fixture\t594 13.3.3 更高阶的fixture\t599 13.3.4 用pytest跳过测试\t606 13.4 使用Mock模拟对象\t608 13.4.1 其他打补丁技术\t612 13.4.2 sentinal对象\t615 13.5 进行多少测试才是足够的\t617 13.6 开发和测试\t621 13.7 案例学习\t622 13.7.1 距离算法类的单元测试\t623 13.7.2 Hyperparameter类的单元测试\t629 13.8 回顾\t633 13.9 练习\t634 13.10 总结\t636 第14章 并发\t637 并发处理的背景\t638 14.1 线程\t640 线程的许多问题\t642 14.2 多进程\t644 14.2.1 多进程池\t647 14.2.2 队列\t651 14.2.3 多进程的问题\t656 14.3 future\t657 14.4 AsyncIO\t662 14.4.1 AsyncIO实战\t663 14.4.2 读取AsyncIO future\t665 14.4.3 网络AsyncIO\t666 14.4.4 日志编写演示\t674 14.4.5 AsyncIO客户端\t677 14.5 哲学家用餐问题\t681 14.6 案例学习\t685 14.7 回顾\t690 14.8 练习\t690 14.9 总结\t692 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。