译者序
前言
致谢
作者简介
技术评审员简介
第一部分 基础知识
第1章 Python快速入门
1.1 Python包和模块
1.1.1 Python模块
1.1.2 Python包
1.2 运行文件
1.3 导入代码
1.4 用文档字符串注释代码
1.5 Python中的元素集
1.5.1 集合
1.5.2 元组
1.5.3 列表
1.5.4 字典
1.6 解包
1.7 小结
第2章 两种编程范式
2.1 函数式编程
2.1.1 纯函数
2.1.2 不可变性
2.1.3 lambda函数
2.1.4 高阶函数
2.1.5 嵌套函数
2.1.6 filter、map和reduce函数
2.1.7 列表推导式
2.2 面向对象编程
2.2.1 类
2.2.2 魔术方法
2.3 类型提示
2.4 小结
第3章 命令行
3.1 UNIX和Windows系统的命令行
3.2 准备好shell
3.2.1 安装Windows Subsystem for Linux软件
3.2.2 初识shell
3.3 文件和目录
3.3.1 移动命令
3.3.2 创建文件和目录
3.3.3 删除文件和目录
3.3.4 命令汇总
3.3.5 使用Windows Subsystem for Linux
3.4 运行Python脚本
3.5 给脚本传递参数
3.6 标准输入和输出
3.6.1 将输出重定向到文件
3.6.2 将输入重定向为文件
3.7 使用PyCharm自带的Python控制台
3.8 小结
第二部分 二维几何
第4章 点和向量
4.1 比较数字
4.2 创建类:Point
4.2.1 计算两点间的距离
4.2.2 加减操作
4.3 创建类:Vector
4.3.1 向量的加减
4.3.2 向量的缩放
4.3.3 用向量移动点
4.3.4 向量的范数
4.3.5 不可变的代码设计
4.3.6 方法的命名约定
4.3.7 向量的点乘
4.3.8 向量的投影
4.3.9 向量的叉乘
4.3.10 平行和垂直向量
4.3.11 向量的夹角
4.3.12 向量的旋转
4.3.13 向量的正弦和余弦
4.4 完善Vector类
4.4.1 检验相等性
4.4.2 字符串表示
4.4.3 向量的工厂函数
4.5 单元测试
4.5.1 测试距离计算方法
4.5.2 测试向量的加减方法
4.5.3 测试向量的乘法方法
4.5.4 测试向量的平行和垂直方法
4.5.5 单元测试的三个重要规则
4.6 小结
第5章 直线和线段
5.1 创建类:Segment
5.1.1 线段的方向
5.1.2 线段的长度
5.1.3 参数t和线段中点
5.1.4 计算线段上的最近点
5.1.5 计算线段与点的最短距离
5.1.6 计算线段的交点
5.1.7 相等和字符串表示
5.2 创建类:Line
5.3 线段的垂直平分线
5.4 小结
第6章 多边形
6.1 创建类:Polygon
6.1.1 多边形的边
6.1.2 多边形的质心
6.1.3 检验多边形是否包含点
6.1.4 多边形的工厂函数
6.1.5 检验多边形的相等性
6.2 创建类:Circle
6.2.1 检验圆是否包含点
6.2.2 圆的近似多边形
6.2.3 圆的相等性和字符串表示
6.2.4 圆的工厂函数
6.3 创建类:Rect
6.3.1 检验矩形是否包含点
6.3.2 检查矩形是否重叠
6.3.3 矩形转多边形
6.3.4 矩形的相等性检查
6.3.5 矩形的工厂函数
6.4 小结
第7章 仿射变换
7.1 初识仿射变换
7.2 创建类:Affine Transform
7.2.1 单元测试:点的变换
7.2.2 变换线段和多边形
7.2.3 组合变换
7.2.4 逆仿射变换
7.2.5 缩放变换
7.2.6 旋转变换
7.3 插值变换
7.3.1 插值的类型
7.3.2 插值的实现
7.4 Geom2D的最后一步
7.4.1 测试文件整理
7.4.2 同时运行所有测试文件
7.4.3 包的统一导入
7.5 小结
第三部分 图形和模拟
第8章 绘制矢量图
8.1 位图和矢量图
8.2 SVG格式
8.2.1 视框
8.2.2 空间变换
8.3 创建包:svg
8.3.1 模板字符串
8.3.2 导入模板
8.3.3 图像模板
8.3.4 属性
8.4 SVG的基元
8.4.1 直线
8.4.2 矩形
8.4.3 圆
8.4.4 多边形
8.4.5 多段线
8.4.6 文本
8.4.7 分组
8.4.8 箭头
8.5 基元总结
8.6 导入包
8.7 小结
第9章 三点画圆
9.1 应用程序的架构
9.2 初始设置
9.2.1 创建一个运行配置
9.2.2 为什么要使用运行配置
9.3 读取输入和配置文件
9.3.1 正则表达式
9.3.2 正则表达式备忘录
9.3.3
展开