目录
第一部分Python编程基础
第1章计算机程序
1.1计算机组成
1.1.1计算机硬件组成
1.1.2计算机软件组成
1.2计算机编程
1.3程序运行过程
1.4Python语言
1.5Python环境搭建
1.5.1运行环境
1.5.2开发环境
1.5.3安装和使用Anaconda
本章小结
第2章Python基础知识
2.1常量
2.1.1数字
2.1.2字符串
2.2变量
2.2.1变量名称
2.2.2变量赋值
2.2.3数据类型
2.3运算
2.3.1内置数值运算符
2.3.2内置的标识运算符
2.3.3内置的数值运算函数
2.3.4内置的数值转换函数
2.3.5Python中的库分类
2.3.6math库
2.4注释
2.5Python程序内部运行过程
2.6编程风格
2.7应用案例
2.7.1货币汇率转换
2.7.2企业利润率和增长率
2.7.3放射性同位素衰减
本章小结
第3章编程逻辑
3.1程序流程图
3.2顺序结构
3.3分支结构
3.3.1if分支结构
3.3.2模式匹配
3.4循环结构
3.4.1for循环
3.4.2while循环
3.4.3break语句
3.4.4continue语句
3.4.5海象操作符
3.5应用案例
3.5.1斐波那契数列
3.5.2计算圆周率
3.5.3广播模型、扩散模型和传染模型
本章小结
第4章函数
4.1函数的引入
4.2函数定义
4.3函数调用
4.4变量作用域
4.5函数参数
4.5.1参数默认值
4.5.2关键字参数
4.5.3可变数量参数
4.6函数返回值
4.7Lambda表达式
4.8文档字符串
4.9字符串处理
4.10回调函数*
4.11函数递归算法*
4.12应用案例
4.12.1等额本息还款
4.12.2股票期望回报率与风险
本章小结
第5章数据结构
5.1数据结构的简介
5.1.1数据的重要性
5.1.2数据结构的定义
5.1.3数据结构的分类
5.2Python内置数据结构
5.3列表
5.3.1基本概念
5.3.2创建列表
5.3.3删除列表
5.3.4增加列表元素
5.3.5删除列表元素
5.3.6访问和修改列表元素
5.3.7判断列表元素是否存在
5.3.8切片
5.3.9列表排序与逆序
5.3.10列表推导式
5.3.11Python内置函数
5.3.12列表的内存管理
5.4元组
5.4.1基本概念
5.4.2创建元组
5.4.3访问元组
5.4.4修改元组
5.4.5删除元组
5.4.6序列解包
5.4.7多序列操作
5.4.8生成器表达式
5.4.9迭代器
5.4.10生成器
5.4.11元组的内存管理
5.5字典
5.5.1基本概念
5.5.2创建字典
5.5.3删除字典元素
5.5.4添加和修改字典元素
5.5.5查询字典
5.5.6字典推导式
5.5.7字典的内存管理
5.6集合
5.6.1基本概念
5.6.2创建集合
5.6.3增加集合元素
5.6.4删除集合元素
5.6.5集合推导式
5.6.6集合运算
5.6.7集合的内存管理
5.6.8列表、元组、字典和集合的操作对比总结
5.7应用案例
5.7.1等额本金还款
5.7.2投资组合优化模型
5.7.3有向图管理
5.7.4学生课程管理系统
本章小结
第6章文件
6.1文件的操作流程
6.2打开和关闭文件
6.3操作文本文件内容
6.3.1读文件
6.3.2写文件
6.4操作二进制文件内容
6.5文件的内存管理
6.6序列化与反序列化
6.7文件的操作
6.8目录的操作
6.9应用案例
6.9.1表格数据文件的读写
6.9.2JSON数据文件处理
6.9.3使用MD5对文件进行加密
6.9.4使用yield from处理多个日志文件
本章小结
第7章模块与包
7.1模块
7.1.1模块的基本概念
7.1.2导入和使用模块
7.1.3模块循环引用问题
7.1.4模块的__name__
7.1.5编写模块
7.1.6模块导入的工作原理
7.2包
7.2.1创建包
7.2.2使用包
7.3应用案例*
7.3.1经典的包分层结构
7.3.2机器学习包的分层结构
7.3.3网上商城的包分层结构
本章小结
第8章异常处理
8.1异常的基本概念
8.2异常处理结构
8.3主动抛出异常
8.4断言
8.5上下文管理
8.6应用案例
8.6.1文件读写与用户输入异常处理
8.6.2银行账户操作中的异常
本章小结
第9章程序调试
9.1调试的基本概念
9.2常见的错误类型
9.3使用print语句进行基础调试
9.4理解Python的错误消息
9.4.1解读Python错误消息
9.4.2常见错误类型和解决方法
9.5断点与单步执行
9.5.1断点和单步执行
9.5.2断点的使用
9.5.3单步执行代码
9.5.4观察变量和程序状态
9.6Python调试器pdb
9.7利用日志记录进行调试*
9.8单元测试与调试*
9.9调试高级技巧*
9.10应用案例
本章小结
第10章面向对象编程
10.1面向对象的基本概念
10.1.1面向对象的引入
10.1.2面向对象的基本概念
10.2self参数
10.3字段
10.3.1类变量和对象变量
10.3.2成员的访问权限
10.3.3Python内置类属性
10.4方法
10.5类的继承
10.5.1类继承的基本概念
10.5.2创建父类
10.5.3创建子类
10.6面向对象的内存管理*
10.7运算符重载*
10.7.1常见魔法方法
10.7.2运算符重载示例
10.8类的多态*
10.9Python中一切皆为对象*
10.9.1Python的对象概念
10.9.2Python对象的特性
10.9.3Python对象回收机制
10.9.4class、object和type的关系
10.10元类*
10.10.1使用元类创建类
10.10.2元类的高级应用
10.11闭包*
10.12修饰器*
10.12.1修饰器的基本原理
10.12.2使用@语法简化修饰器
10.12.3处理带参数的内嵌函数
10.12.4带参数的修饰器
10.12.5类的修饰器
10.12.6内置修饰器
10.13属性*
10.13.1类的属性设置
10.13.2动态计算属性
10.13.3两种属性的区别: Attribute与Property
10.14从namedtuple到类*
10.15类型注解*
10.15.1基础类型注解
10.15.2高级类型注解
10.16应用案例
10.16.1金融投资类体系
10.16.2支付系统模拟
10.16.3单例设计模式
10.16.4金融风控
10.16.5电梯调度系统
10.16.6修饰器的高级应用*
本章小结
第二部分科学计算与数据处理
第11章NumPy数值计算
11.1NumPy概述
11.2NumPy基础
11.2.1NumPy的安装与配置
11.2.2ndarray对象
11.2.3ndarray的属性和方法
11.2.4数组的索引和切片
11.3数组运算
11.3.1基本数学运算
11.3.2统计函数
11.3.3线性代数运算
11.4NumPy高级功能*
11.4.1通用函数
11.4.2逻辑运算与条件筛选
11.4.3排序、搜索与计数
11.5NumPy的向量化
11.6NumPy的内存管理
11.7应用案例
11.7.1马尔可夫链蒙特卡洛模拟
11.7.2线性回归分析
本章小结
第12章Pandas数据处理与分析
12.1Pandas概述
12.1.1Pandas简介
12.1.2安装与配置Pandas
12.2Pandas数据结构
12.2.1Series数据结构
12.2.2DataFrame数据结构
12.3数据导入与导出
12.3.1读取数据文件
12.3.2写入数据文件
12.4数据清洗
12.4.1缺失数据处理
12.4.2数据过滤与选择
12.4.3数据转换
12.5数据分析
12.5.1数据排序与索引
12.5.2数据分组与聚合
12.5.3数据合并
12.5.4数据重塑
12.6Pandas高级功能*
12.6.1时间序列分析
12.6.2函数应用与映射
12.6.3多层索引与分层数据
12.7应用案例
12.7.1数据清洗与整理
12.7.2时间序列数据分析
本章小结
第13章Matplotlib数据可视化
13.1Matplotlib概述
13.2Matplotlib的绘图基础
13.2.1Matplotlib的工作流程
13.2.2Figure和Axes的概念
13.3基本绘图
13.3.1折线图
13.3.2散点图
13.3.3条形图
13.3.4直方图
13.3.5饼图
13.4子图与布局定制*
13.4.1创建多个子图
13.4.2自定义子图布局
13.4.3子图间的共享轴
13.5极坐标图*
13.5.1绘制基本极坐标图
13.5.2极坐标图的应用
13.6热图*
13.6.1绘制热图
13.6.2热图的应用
13.7三维绘图*
13.7.1创建三维坐标轴
13.7.2三维曲线图
13.7.3三维表面图
13.8图形美化与输出*
13.8.1自定义图形样式
13.8.2自定义主题样式
13.8.3保存和复用自定义样式
13.9图例与注释
13.9.1添加与自定义图例
13.9.2图形注释*
13.10图形的保存与导出*
13.10.1保存图形的基本用法
13.10.2保存透明背景图形
13.10.3自定义保存选项
13.11Pandas的可视化
13.12应用案例
13.12.1分布分析
13.12.2分类数据的可视化
13.12.3相关性分析*
13.12.4动态图*
本章小结
第三部分项目开发实践
第14章Python项目开发实践*
14.1Python项目开发基础
14.1.1Python项目的基本概念
14.1.2虚拟环境与依赖管理
14.1.3项目结构的最佳实践
14.1.4版本控制与协作开发
14.1.5编码规范与文档
14.1.6测试驱动开发
14.2信用卡异常交易检测项目
14.2.1信用卡异常交易检测
14.2.2信用卡异常交易检测项目概述
14.3项目环境与项目文件结构
14.3.1Python环境配置与库安装
14.3.2项目文件结构
14.4数据生成与理解
14.4.1交易数据生成类的初始化
14.4.2生成交易数据
14.4.3标记异常交易
14.4.4计算金额和时间的风险分数
14.4.5数据的可视化
14.5数据预处理
14.5.1数据清洗的基本原则
14.5.2实现数据预处理
14.5.3数据标准化与编码
14.6特征工程
14.6.1特征工程的概念
14.6.2特征提取与构造
14.6.3常见的特征选择方法
14.7模型选择与训练
14.7.1监督学习与无监督学习模型
14.7.2模型选择
14.7.3模型训练
14.8模型评估
14.8.1混淆矩阵
14.8.2评估模型性能的指标
14.8.3实现模型评估
14.8.4模型评估的可视化
14.9图形用户界面
14.9.1图像用户界面的设计理念
14.9.2图形用户界面的实现
14.10主程序
14.10.1主程序结构
14.10.2主程序的模块化实现
14.11单元测试
14.11.1单元测试概述
14.11.2实现单元测试
14.12项目的打包与发布
14.12.1打包项目: 将代码部署为可执行应用程序
14.12.2在PyCharm中打包项目
14.12.3生成可执行文件
14.12.4发布与分享项目
14.13项目总结与扩展思考
14.13.1项目改进方向
14.13.2项目的扩展性思考
本章小结
参考文献