目  录Contents 
译者序 
前 言 
第一部分 设计模式基础 
第1章 对象简介 3 
类的__init__方法 4 
类的局部变量 4 
类的集合 4 
继承 5 
创建派生类 6 
多重继承 6 
绘制矩形和正方形 7 
变量的可见性 8 
局部变量 9 
Python中的变量类型 10 
总结 11 
GitHub中的程序 11 
第2章 Python可视化编程 12 
导入少量名字 13 
面向对象的程序 14 
使用消息框 15 
使用文件对话框 16 
理解pack布局管理器选项 16 
使用ttk库 17 
响应用户输入 18 
运用tkinter中的颜色 20 
创建单选按钮 20 
类之间的通信 22 
使用grid布局 23 
创建复选按钮 24 
在窗口中添加菜单项 26 
使用LabelFrame组件 29 
GitHub中的程序 30 
第3章 数据表格的可视化编程 31 
创建列表框 32 
使用组合框 35 
树视图组件 36 
GitHub中的程序 38 
第4章 设计模式 39 
定义设计模式 40 
学习步骤 40 
面向对象方法说明 40 
参考文献 41 
第二部分 创建型模式 
第5章 工厂模式 45 
工厂模式简介 45 
定义基类 46 
两个子类 46 
创建简单的工厂模式 47 
数学运算中的工厂模式 48 
GitHub中的程序 49 
问题思考 49 
第6章 工厂方法模式 50 
Swimmer类 51 
Event类 52 
StraightSeeding类 53 
CircleSeeding类 54 
创建Seeding程序 54 
EventFactory类 56 
工厂方法模式的使用场景 56 
GitHub中的程序 57 
第7章 抽象工厂模式 58 
GardenMarker工厂 58 
花园规划界面 60 
抽象工厂模式总结 60 
问题思考 60 
GitHub中的程序 60 
第8章 单例模式 61 
抛出异常 62 
创建一个类实例 62 
单例模式的静态类 63 
在大型程序中查找单例 63 
单例模式总结 63 
GitHub中的程序 63 
第9章 生成器模式 64 
投资跟踪器 64 
调用生成器 66 
生成器模式总结 69 
问题思考 69 
GitHub中的程序 69 
第10章 原型模式 70 
Python中的克隆 70 
使用原型 71 
原型模式总结 73 
GitHub中的程序 73 
第11章 创建型模式总结 74 
第三部分 结构型模式 
第12章 适配器模式 77 
列表之间的数据移动 77 
创建一个适配器 79 
GitHub中的程序 81 
第13章 桥接模式 82 
创建用户界面 84 
扩展桥 84 
桥接模式总结 86 
GitHub中的程序 86 
第14章 组合模式 87 
组合结构的实现 88 
工资的计算 88 
Employee类 88 
Boss类 89 
创建员工树 89 
打印输出员工树 90 
创建树视图 91 
使用双向链表 93 
组合模式总结 94 
组合模式的实现 94 
GitHub中的程序 95 
第15章 装饰器模式 96 
装饰按钮 96 
使用装饰器 97 
使用非可视化装饰器 98 
数据类装饰器 99 
使用数据类装饰器处理默认值 100 
装饰器、适配器以及组合实体 100 
装饰器模式总结 101 
GitHub中的程序 101 
第16章 外观模式 102 
创建外观类 104 
创建数据库和表格 107 
使用SQLite 108 
外观模式总结 109 
GitHub中的程序 109 
关于MySQL 109 
参考资料 110 
第17章 享元模式 111 
享元 111 
程序示例 112 
写入时复制对象 114 
GitHub中的程序 115 
第18章 代理模式 116 
使用Python图像库(PIL) 116 
使用PIL显示图像 117 
使用多线程加载图像 117 
多线程日志 119 
写入时复制 119 
对比相关模式 119 
GitHub中的程序 120 
第19章 结构型模式总结 121 
第四部分 行为型模式 
第20章 责任链模式 125 
责任链模式的使用场景 126 
程序示例 126 
列表框 128 
编写帮助系统 129 
接收帮助命令 130 
检查 130 
责任链的树结构 131 
请求的种类 132 
责任链模式总结 132 
GitHub中的程序 132 
第21章 命令模式 133 
命令模式的使用场景 133 
命令对象 134 
键盘实例 134 
调用命令对象 136 
创建命令对象 136 
命令模式介绍 137 
命令模式总结 137 
撤销操作 138 
总结 140 
参考资料 140 
GitHub中的程序 141 
第22章 解释器模式 142 
解释器模式的使用场景 142 
简单的报表实例 143 
解释语言 143 
语句解析 145 
控制台界面 147 
用户界面 148 
解释器模式总结 148 
GitHub中的程序 149 
第23章 迭代器模式 150 
迭代器模式简介 150 
for循环迭代器 151 
斐波那契迭代 151 
筛选迭代器 152 
用生成器创建迭代器 154 
斐波那契迭代器 154 
类中的生成器 155 
迭代器模式总结 155 
GitHub中的程序 156 
第24章 中介者模式 157 
中介者模式示例 157 
控件间的交互 158 
程序示例 159 
中介者及命令对象 160 
中介者模式总结 161 
单接口中介者 161 
GitHub中的程序 161 
第25章 备忘录模式 162 
备忘录模式的使用场景 162 
程序示例 163 
备忘录模式总结 167 
GitHub中的程序 167 
第26章 观察者模式 168 
观察颜色变化的程序示例 169 
给观察者发送信息 171 
观察者模式总结 171 
GitHub中的程序 172 
第27章 状态模式 173 
程序示例 173 
状态间的切换 176 
中介者与状态管理器交互 177 
状态模式总结 178 
状态转换 179 
GitHub中的程序 179 
第28章 策略模式 180 
策略模式简介 180 
程序示例 181 
上下文 182 
命令按钮 182 
折线图和柱状图策略 182 
策略模式总结 184 
GitHub中的程序 185 
第29章 模板方法模式 186 
模板方法模式简介 186 
模板类方法 187 
程序示例 187 
绘制三角形的程序 189 
模板与回调方法 190 
模板方法模式总结 191 
GitHub中的程序 191 
第30章 访问者模式 192 
访问者模式的使用场景 192 
程序示例 193 
访问类 195 
同时访问经理和员工 196 
二次分发 197 
遍历系列类 197 
访问者模式总结 197 
GitHub中的程序 198 
第五部分 Python基础知识 
第31章 Python中的变量和语法 201 
数据类型 201 
数字常量 202 
字符串 202 
字符常量 203 
变量 204 
复数 204 
整数除法 205 
用于初始化的等号 205 
一个简单的Python应用程序 206 
编译和运行程序 206 
算术运算符 206 
复合运算符和赋值语句 207 
比较运算符 208 
输入语句 208 
PEP 8标准 209 
第32章 Python中的判定语句 212 
条件判定语句 212 
组合条件 213 
常见错误 213 
循环语句 213 
中断与继续语句 215 
每行长度 215 
打印输出函数 216 
格式化数字 217 
格式化日期 219 
匹配函数 219 
参考资料 221 
GitHub中的程序 221 
第33章 Python开发环境 222 
IDLE 222 
Thonny 222 
PyCharm 223 
Visual Studio 223 
其他开发环境 223 
命令行执行 225 
CPython、IPython和Jython 225 
第34章 Python的集合和文件 226 
切片 226 
切片字符串 227 
改变列表内容 228 
复制列表 229 
读取文件 229 
处理异常 231 
使用字典 231 
使用元组 233 
使用集合 233 
使用map函数 234 
编写一个完整的程序 234 
使用列表推导 235 
GitHub中的程序 236 
第35章 函数 237 
返回一个元组 238 
应用程序执行 238 
总结 239 
GitHub中的程序 239
						展开