图书目录

目录

第一部分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项目的扩展性思考

本章小结

参考文献