本书的主要内容是利用Python语言进行程序设计的基础应用。Python语言是一种简洁且强大的语言,特别适合于程序设计的初学者进行学习,锻炼思维。在大数据时代,越来越多的非计算机专业的学生急需掌握一门程序设计语言进行数据的处理和分析,Python成为十分流行的计算机语言。本书以财经类案例为依托,涵盖了Python基本数据类型与表达式,Python中列表、元组、集合、字典等组合数据类型,Python控制结构、函数、数据存储、操作关系数据库、对象和类等内容。
前言
第一部分 基础篇
第1章 概述 / 2
1.1 为什么要学习程序设计 / 2
1.2 程序设计语言 / 3
1.3 Python概述 / 5
1.3.1 使用Python的理由 / 5
1.3.2 Python可以做什么 / 6
1.4 Python开发和运行环境 / 7
1.4.1 安装使用标准Python / 7
1.4.2 使用IDLE开发 / 10
1.4.3 使用Anaconda开发 / 11
小结 / 12
练习 / 12
第2章 Python基本操作 / 14
2.1 利用变量收集数据 / 15
2.2 利用表达式处理数据 / 16
2.2.1 Python中的表达式 / 16
2.2.2 案例:国内生产总值增长趋势分析 / 17
2.3 常用的数字类型 / 18
2.3.1 整型 / 19
2.3.2 浮点型 / 19
2.3.3 数字类型的转换 / 20
2.3.4 案例:股票价格增长率与涨跌幅的计算 / 20
2.4 字符串 / 21
2.4.1 字符串基本概念 / 21
2.4.2 字符串与数值类型的转换str()函数 / 24
2.4.3 字符串的拼接与重复 / 24
2.4.4 获取字符串长度len()函数 / 25
2.4.5 字符串格式化format()方法 / 25
2.4.6 字符串其他常用方法 / 27
2.4.7 打印输出print()函数 / 27
2.4.8 获取用户输入input()函数 / 28
2.4.9 案例:等额本息还款法每月还款额的计算 / 28
2.5 布尔类型、逻辑运算与关系运算 / 29
2.5.1 布尔类型 / 29
2.5.2 逻辑运算 / 30
2.5.3 关系运算 / 30
2.6 常用内置函数 / 31
2.7 导入模块 / 32
2.8 综合案例:我国人口增长率变化分析 / 33
小结 / 36
练习 / 36
第3章 列表和元组 / 37
3.1 序列类型概述 / 38
3.2 通用序列类型操作 / 39
3.2.1 索引 / 39
3.2.2 分片 / 41
3.2.3 使用连接“+”和重复“*” / 42
3.2.4 使用in和not in判断 / 43
3.2.5 使用count计算元素出现次数 / 43
3.3 最灵活的序列类型:列表 / 43
3.3.1 创建列表 / 44
3.3.2 列表基本操作 / 45
3.3.3 列表常用方法 / 46
3.3.4 案例:复利计算 / 51
3.4 不可变的序列类型:元组 / 53
3.4.1 创建元组 / 53
3.4.2 多重赋值 / 53
3.4.3 元组特性 / 54
3.4.4 为什么需要元组 / 55
小结 / 56
练习 / 57
第4章 控制结构 / 58
4.1 语句和代码块 / 59
4.2 条件表达式 / 60
4.3 if分支结构 / 61
4.3.1 单分支结构:if语句 / 61
4.3.2 双分支结构:else子句 / 62
4.3.3 多分支结构:elif子句 / 63
4.3.4 三元表达式:if/else / 63
4.3.5 案例:汇率换算 / 64
4.4 while循环结构 / 65
4.5 for循环结构 / 66
4.6 break、continue和else语句 / 67
4.7 循环的应用 / 70
4.7.1 使用range函数遍历 / 70
4.7.2 列表推导式 / 70
4.7.3 并列遍历:zip函数 / 72
4.7.4 简单循环的替身:map函数 / 73
4.7.5 序号和元素都需要时应用enumerate函数 / 73
4.8 案例:等额本金还款 / 74
小结 / 76
练习 / 76
第5章 字典和集合 / 78
5.1 字典及基本操作 / 79
5.1.1 创建字典 / 80
5.1.2 访问字典的值 / 81
5.1.3 修改字典的值 / 81
5.1.4 添加键值对 / 81
5.1.5 删除键值对 / 82
5.2 字典的常用方法 / 82
5.2.1 keys()、values()和items()方法 / 82
5.2.2 避免键不存在错误的方法get()和setdefault() / 83
5.2.3 pop()、popitem()和clear()方法 / 84
5.2.4 字典的格式化字符串 / 84
5.2.5 字典嵌套 / 84
5.2.6 字典推导式 / 85
5.3 案例:人事统计 / 85
5.4 集合及基本操作 / 87
5.4.1 创建集合 / 87
5.4.2 利用集合去重 / 88
5.4.3 交集、并集、差集和补集 / 88
5.5 集合的常用方法 / 89
5.5.1 添加元素 / 89
5.5.2 删除元素 / 89
5.5.3 集合推导式 / 90
5.6 案例:股票涨跌统计 / 90
5.7 组合数据类型比较 / 92
小结 / 93
练习 / 93
第6章 代码打包:函数 / 95
6.1 定义和调用函数 / 96
6.2 案例:个人所得税计算器 / 99
6.3 函数参数 / 101
6.3.1 参数传递 / 101
6.3.2 不可变和可变类型参数 / 101
6.3.3 位置参数 / 102
6.3.4 关键字参数 / 102
6.3.5 指定默认参数值 / 103
6.3.6 任意数量参数 / 104
6.3.7 解包参数 / 105
6.4 变量作用域 / 106
6.4.1 局部变量 / 107
6.4.2 全局变量 / 107
6.4.3 同名的局部变量和全局变量 / 108
6.4.4 global语句 / 108
6.5 匿名函数lambda / 109
6.5.1 lambda函数定义 / 109
6.5.2 应用一:列表排序 / 110
6.5.3 应用二:映射函数map / 112
6.5.4 应用三:选择函数filter / 112
6.6 递归函数 / 113
6.7 案例:个人贷款计算器 / 115
小结 / 118
练习 / 118
第7章 数据存取:文件 / 120
7.1 文件与路径 / 121
7.2 文本文件与二进制文件 / 122
7.3 操作文件 / 123
7.3.1 打开文件 / 123
7.3.2 关闭文件 / 124
7.3.3 写入文本文件 / 124
7.3.4 读取文本文件 / 126
7.3.5 使用with语句自动管理 / 128
7.4 案例:销售统计 / 128
7.5 使用pickle存储Python对象 / 130
7.6 使用JSON格式存储Python对象 / 132
小结 / 134
练习 / 135
基础案例综合解析 / 136
1. 软件开发流程 / 136
2. 基础案例项目开发 / 137
第二部分 提高篇
第8章 面向对象编程 / 144
8.1 定义和使用类 / 145
8.2 属性 / 146
8.2.1 实例属性 / 146
8.2.2 类属性 / 147
8.3 方法 / 147
8.3.1 为类添加方法 / 148
8.3.2 利用构造方法初始化 / 149
8.3.3 更多特殊方法 / 150
8.4 高级话题 / 152
8.4.1 继承 / 152
8.4.2 多态 / 153
8.4.3 封装 / 154
小结 / 157
练习 / 157
第9章 异常处理 / 158
9.1 try/except/else语句 / 159
9.2 try/finally语句 / 161
9.3 完整try语句 / 162
9.4 raise语句 / 163
9.5 assert语句 / 164
9.6 案例:记录股票信息 / 164
小结 / 167
练习 / 167
第10章 数据库应用 / 169
10.1 数据库简介 / 170
10.1.1 关系型数据库 / 170
10.1.2 非关系型数据库 / 171
10.2 SQLite数据库 / 171
10.2.1 建立连接 / 173
10.2.2 操作数据 / 173
10.2.3 优化查询结果 / 176
10.3 Python操作其他关系型数据库 / 176
10.3.1 操作MySQL数据库 / 177
10.3.2 操作SQL Server数据库 / 178
10.3.3 连接Oracle数据库 / 179
10.4 Python操作MongoDB数据库 / 179
10.4.1 使用pymongo连接数据库 / 179
10.4.2 MongoDB数据库操作 / 180
小结 / 183
练习 / 183
第三部分 数据分析篇
第11章 NumPy基础 / 186
11.1 多维数组对象ndarray / 187
11.1.1 创建ndarray数组 / 187
11.1.2 ndarray数组的属性 / 189
11.2 访问数组元素 / 190
11.2.1 普通索引 / 190
11.2.2 切片 / 191
11.2.3 布尔索引 / 192
11.2.4 花式索引 / 193
11.3 排序 / 193
11.3.1 sort()排序 / 193
11.3.2 argsort()排序 / 194
11.4 数组重塑 / 195
11.4.1 resize()和reshape()方法 / 195
11.4.2 transpose()和swapaxes()方法 / 196
11.4.3 flatten()方法 / 196
11.5 NumPy数组间运算 / 196
11.6 ufunc()通用函数 / 197
小结 / 198
练习 / 198
第12章 Pandas金融数据分析 / 200
12.1 Pandas的数据结构 / 200
12.1.1 Series / 201
12.1.2 DataFrame / 203
12.2 Pandas的常用方法 / 207
12.2.1 索引对象 / 208
12.2.2 重新索引 / 208
12.2.3 删除指定轴上的项重新索引 / 210
12.2.4 排序 / 210
12.2.5 算术运算和数据对齐 / 211
12.2.6 缺失值检测和处理 / 213
12.2.7 缺失值删除 / 213
12.2.8 缺失值填充 / 214
12.2.9 apply函数 / 215
12.2.10 频数统计 / 216
12.2.11 合并 / 216
12.2.12 数据添加 / 218
12.2.13 分组 / 219
12.2.14 堆叠 / 219
12.3 汇总、计算和描述性统计 / 220
12.4 案例 / 222
小结 / 225
练习 / 225
第13章 Matplotlib数据可视化 / 227
13.1 安装 / 227
13.2 基本图表元素 / 228
13.2.1 坐标轴 / 228
13.2.2 图例 / 230
13.2.3 标注 / 232
13.2.4 能见度 / 233
13.2.5 图表的保存 / 235
13.3 常见图形绘制 / 235
13.3.1 散点图 / 235
13.3.2 折线图 / 236
13.3.3 柱状图 / 237
13.3.4 subplot子图 / 238
13.4 案例 / 240
小结 / 242
练习 / 242
附录A Python中的关键字 / 244
附录B 进位制数 / 246
附录C Python中的字符串常用方法 / 249
附录D math库的使用 / 253
参考文献 / 256