• Python面向对象编程:构建游戏和GUI
  • Python面向对象编程:构建游戏和GUI
  • Python面向对象编程:构建游戏和GUI
21年品牌 40万+商家 超1.5亿件商品

Python面向对象编程:构建游戏和GUI

正版保障 假一赔十 电子发票

51.25 5.1折 99.8 全新

库存5件

河北廊坊
认证卖家担保交易快速发货售后保障

作者艾维·卡尔布

出版社人民邮电出版社

ISBN9787115602312

出版时间2023-03

装帧平装

开本16开

定价99.8元

货号DF88FBC6E62F413185F

上书时间2024-06-24

瀚东书店

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
商品简介

本书首先介绍构建类和创建对象的基础知识,并结合代码讲述如何将理论付诸实践;然后讨论面向对象编程的关键概念——封装、多态性和继承,包括如何使用对象管理器创建并管理多个对象,如何通过封装对客户端代码隐藏对象的内部细节,如何使用多态性定义一个接口并在多个类中实现它,如何应用继承构建现有代码;最后讲述如何构建一款带完整的动画和声音的视频游戏,从而将所有内容整合在一起。本书涵盖了两个功能齐全的Python代码包,它们将加速Python中图形用户界面程序的开发。
本书不仅适合Python开发人员阅读,还适合计算机相关专业的师生阅读。



作者简介

  
 
   Irv Kalb是加州大学圣克鲁斯硅谷分校和硅谷大学的客座教授,负责“Python入门”与“Python面向对象编程”课程的教学。Irv拥有计算机科学的学士和硕士学位,使用多种计算机语言进行面向对象编程已超过30年,并且到现在已经有超过10年的教学经验。他有几十年的软件开发经验,主要关注教育软件的开发。在Furry Pants Productions公司,他和妻子以Darby the Dalmatian这个角色为原型,制作并发布了两张寓教于乐的CD-ROM。Irv还撰写了Learn to Program with Python 3: A Step-by-step Guide to Programming(Apress)一书。 Irv深入参与了极限飞盘(Ultimate Frisbee)这项运动的早期开发。他主持编写了多个版本的官方规则手册,并与人合著了关于这项运动的图书—— Ultimate: Fundamentals of the Sport。  
 


目录

  
 
   目  录 

 第 一部分 面向对象编程入门 

 第 1章 过程式Python示例 2 

 1.1 Higher or Lower纸牌游戏 2 

 1.1.1 表示数据 2 

 1.1.2 实现 3 

 1.1.3 可重用的代码 5 

 1.2 银行账户模拟 5 

 1.2.1 分析必要的操作和数据 5 

 1.2.2 实现1:不使用函数的单个账户 6 

 1.2.3 实现2:使用函数的单个账户 7 

 1.2.4 实现3:两个账户 9 

 1.2.5 实现4:使用列表的多个账户 10 

 1.2.6 实现5:账户字典的列表 13 

 1.3 过程式实现的常见问题 15 

 1.4 面向对象解决方案:初识类 15 

 1.5 小结 16 

 第 2章 通过面向对象编程模拟物体 17 

 2.1 构建物体的软件模型 17 

 2.2 类和对象简介 18 

 2.3 类、对象和实例化 19 

 2.3.1 在Python中编写类 20 

 2.3.2 作用域和实例变量 21 

 2.3.3 函数和方法的区别 22 

 2.3.4 从类创建对象 22 

 2.3.5 调用对象的方法 23 

 2.3.6 从相同类创建多个实例 24 

 2.3.7 Python数据类型被实现为类 25 

 2.3.8 对象的定义 26 

 2.4 创建一个更加复杂的类 26 

 2.5 将一个更加复杂的物理对象表示为类 28 

 2.5.1 向方法传递实参 32 

 2.5.2 多个实例 33 

 2.5.3 初始化参数 34 

 2.6 类的使用 35 

 2.7 以OOP作为解决方案 35 

 2.8 小结 36 

 第3章 对象的思维模型和 “self”的意义 37 

 3.1 重看DimmerSwitch类 37 

 3.2 1号高级思维模型 38 

 3.3 2号深层模型 39 

 3.4 self的含义 41 

 3.5 小结 43 

 第4章 管理多个对象 44 

 4.1 银行账户类 44 

 4.2 导入类的代码 46 

 4.3 创建一些测试代码 47 

 4.3.1 创建多个账户 47 

 4.3.2 在列表中包含多个Account对象 49 

 4.3.3 具有唯一标识符的多个对象 51 

 4.3.4 创建一个交互式菜单 53 

 4.4 创建对象管理器 54 

 4.4.1 创建对象管理器 56 

 4.4.2 创建对象管理器的主代码 58 

 4.5 使用异常更好地处理错误 59 

 4.5.1 try和except 60 

 4.5.2 raise语句和自定义异常 60 

 4.6 在Bank程序中使用异常 61 

 4.6.1 使用异常的Account类 61 

 4.6.2 优化后的Bank类 63 

 4.6.3 处理异常的主代码 64 

 4.7 在对象列表上调用相同的方法 65 

 4.8 接口与实现 67 

 4.9 小结 67 

 第二部分 使用pygame创建图形 

 用户界面 

 第5章 pygame简介 70 

 5.1 安装pygame 70 

 5.2 窗口 71 

 5.2.1 窗口坐标系统 71 

 5.2.2 像素颜色 74 

 5.3 事件驱动的程序 75 

 5.4 使用pygame 76 

 5.4.1 打开一个空白窗口 76 

 5.4.2 绘制图片 79 

 5.4.3 检测鼠标单击 81 

 5.4.4 处理键盘操作 83 

 5.4.5 创建基于位置的动画 86 

 5.4.6 使用pygame矩形 88 

 5.5 播放声音 90 

 5.5.1 播放音效 90 

 5.5.2 播放背景音乐 91 

 5.6 绘制形状 92 

 5.7 小结 95 

 第6章 面向对象的pygame 96 

 6.1 使用OOP pygame创建屏保球 96 

 6.1.1 创建Ball类 96 

 6.1.2 使用Ball类 98 

 6.1.3 创建多个Ball对象 99 

 6.1.4 创建大量Ball对象 100 

 6.2 构建可重用的、面向对象的按钮 101 

 6.2.1 构建一个Button类 101 

 6.2.2 使用SimpleButton的主代码 103 

 6.2.3 创建包含多个按钮的程序 104 

 6.3 构建可重用的、面向对象的文本显示 105 

 6.3.1 显示文本的步骤 105 

 6.3.2 创建SimpleText类 106 

 6.4 包含SimpleText和SimpleButton的弹球示例 107 

 6.5 对比接口与实现 109 

 6.6 回调函数 109 

 6.6.1 创建回调函数 110 

 6.6.2 对SimpleButton使用回调函数 110 

 6.7 小结 112 

 第7章 pygame GUI小部件 113 

 7.1 向函数或方法传递实参 113 

 7.1.1 位置和关键字形参 114 

 7.1.2 关于关键字形参的一些说明 115 

 7.1.3 使用None作为默认值 115 

 7.1.4 选择关键字和默认值 116 

 7.1.5 GUI小部件中的默认值 117 

 7.2 pygwidgets包 117 

 7.2.1 设置 117 

 7.2.2 总体设计方法 118 

 7.2.3 添加图片 119 

 7.2.4 添加按钮、复选框和单选按钮 119 

 7.2.5 文本输出和输入 122 

 7.2.6 其他pygwidgets类 124 

 7.2.7 pygwidgets示例程序 124 

 7.3 一致的API的重要性 125 

 7.4 小结 125 

 第三部分 封装、多态性和继承 

 第8章 封装 128 

 8.1 函数的封装 128 

 8.2 对象的封装 129 

 8.3 封装的含义 129 

 8.3.1 直接访问方式以及为什么应该避免使用这种方式 130 

 8.3.2 严格解释getter和setter 133 

 8.3.3 安全的直接访问 135 

 8.4 使实例变量更加私密 135 

 8.4.1 隐式私有 135 

 8.4.2 更加显式地私有 135 

 8.5 装饰器和@属性 136 

 8.6 pygwidgets类中的封装 139 

 8.7 一个真实的故事 140 

 8.8 抽象 141 

 8.9 小结 143 

 第9章 多态性 144 

 9.1 向现实世界的对象发送消息 144 

 9.2 编程中应用多态性的经典示例 145 

 9.3 使用pygame形状的示例 146 

 9.3.1 Square类 146 

 9.3.2 Circle类和Triangle类 147 

 9.3.3 创建形状的主程序 149 

 9.3.4 扩展模式 151 

 9.4 pygwidgets表现出多态性 151 

 9.5 运算符的多态性 152 

 9.5.1 魔术方法 153 

 9.5.2 比较运算符的魔术方法 153 

 9.5.3 包含魔术方法的Rectangle类 154 

 9.5.4 使用魔术方法的主程序 156 

 9.5.5 数学运算符的魔术方法 158 

 9.5.6 向量示例 158 

 9.6 创建对象中值的字符串表示 160 

 9.7 包含魔术方法的Fraction类 162 

 9.8 小结 165 

 第 10章 继承 166 

 10.1 面向对象编程中的继承 166 

 10.2 实现继承 167 

 10.3 Employee和Manager示例 168 

 10.3.1 基类Employee 168 

 10.3.2 子类Manager 168 

 10.3.3 测试代码 170 

 10.4 客户端眼中的子类 171 

 10.5 现实世界的继承示例 172 

 10.5.1 InputNumber 172 

 10.5.2 DisplayMoney 174 

 10.5.3 示例用法 176 

 10.6 从同一个基类继承多个类 179 

 10.7 抽象类和抽象方法 182 

 10.8 pygwidgets如何使用继承 185 

 10.9 类的层次 186 

 10.10 使用继承编程的困难 187 

 10.11 小结 188 

 第 11章 管理对象使用的内存 189 

 11.1 对象的生存期 189 

 11.1.1 引用计数 189 

 11.1.2 垃圾回收 194 

 11.2 类变量 194 

 11.2.1 类变量常量 194 

 11.2.2 将类变量用于计数 195 

 11.3 综合运用:气球示例程序 196 

 11.3.1 常量模块 197 

 11.3.2 主程序代码 198 

 11.3.3 气球管理器 200 

 11.3.4 Balloon类和对象 202 

 11.4 使用slots管理内存 204 

 11.5 小结 206 

 第四部分 在游戏开发中使用OOP 

 第 12章 纸牌游戏 208 

 12.1 Card类 208 

 12.2 Deck类 210 

 12.3 Higher or Lower游戏 212 

 12.3.1 主程序 212 

 12.3.2 Game对象 213 

 12.4 使用__name__进行测试 216 

 12.5 其他纸牌游戏 217 

 12.5.1 Blackjack牌堆 217 

 12.5.2 使用非标准牌堆的游戏 217 

 12.6 小结 218 

 第 13章 定时器 219 

 13.1 定时器演示程序 219 

 13.2 实现定时器的3种方法 220 

 13.2.1 统计帧数 220 

 13.2.2 定时器事件 221 

 13.2.3 通过计算经过的时间来创建定时器 222 

 13.3 安装pyghelpers 223 

 13.4 Timer类 224 

 13.5 显示时间 226 

 13.5.1 CountUpTimer 226 

 13.5.2 CountDownTimer 228 

 13.6 小结 229 

 第 14章 动画 230 

 14.1 构建动画类 230 

 14.1.1 SimpleAnimation类 230 

 14.1.2 SimpleSpriteSheetAnimation类 234 

 14.1.3 将两个类合并起来 237 

 14.2 pygwidgets中的动画类 237 

 14.2.1 Animation类 238 

 14.2.2 SpriteSheetAnimation类 239 

 14.2.3 公共基类PygAnimation 240 

 14.2.4 示例动画程序 240 

 14.3 小结 241 

 第 15章 场景 242 

 15.1 状态机方法 242 

 15.2 状态机的一个pygame示例 244 

 15.3 用于管理许多场景的场景管理器 248 

 15.4 使用场景管理器的一个示例程序 249 

 15.4.1 主程序 250 

 15.4.2 构建场景 252 

 15.4.3 一个典型场景 254 

 15.5 使用场景的Rock,Paper,Scissors 255 

 15.6 场景之间的通信 259 

 15.6.1 从目标场景请求信息 259 

 15.6.2 向目标场景发送信息 260 

 15.6.3 向所有场景发送信息 260 

 15.6.4 测试场景之间的通信 260 

 15.7 场景管理器的实现 261 

 15.7.1 run()方法 262 

 15.7.2 主方法 263 

 15.7.3 场景之间的通信 264 

 15.8 小结 265 

 第 16章 完整的Dodger 游戏 266 

 16.1 模态对话框 266 

 16.1.1 Yes/No和警告对话框 266 

 16.1.2 Answer对话框 269 

 16.2 构建完整的Dodger游戏 271 

 16.2.1 游戏概述 271 

 16.2.2 实现 272 

 16.2.3 扩展游戏 287 

 16.3 小结 287 

 第 17章 设计模式及收尾 289 

 17.1 模型-视图-控制器 289 

 17.1.1 文件显示示例 289 

 17.1.2 统计显示示例 290 

 17.1.3 MVC模式的优势 294 

 17.2 小结 294 

 


内容摘要
本书首先介绍构建类和创建对象的基础知识,并结合代码讲述如何将理论付诸实践;然后讨论面向对象编程的关键概念——封装、多态性和继承,包括如何使用对象管理器创建并管理多个对象,如何通过封装对客户端代码隐藏对象的内部细节,如何使用多态性定义一个接口并在多个类中实现它,如何应用继承构建现有代码;最后讲述如何构建一款带完整的动画和声音的视频游戏,从而将所有内容整合在一起。本书涵盖了两个功能齐全的Python代码包,它们将加速Python中图形用户界面程序的开发。
本书不仅适合Python开发人员阅读,还适合计算机相关专业的师生阅读。

主编推荐
1.通过面向对象编程(Object-Oriented Programming,OOP),能有效地解决计算问题;
2.深入剖析OOP的封装、多态性和继承,展示了如何在Python中使用这些特性开发游戏和应用程序;
3.通过实践,综合运用本书介绍的许多OOP技术和GUI元素,创建一个功能完整的视频游戏;
4.理解OOP的工作方式,提高代码的可读性,提升编程的水平和效率。

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP