理论部分 3
第1章 Python概述 3
1.1 程序设计与Python语言 3
1.1.1 程序设计语言概述及程序设计的基本概念 3
1.1.2 Python语言的历史和发展 4
1.1.3 Python解释器 5
1.1.4 Python语言的特点 5
1.2 安装与使用 5
1.2.1 安装Python解释器 6
1.2.2 使用Python 7
1.2.3 使用PyCharm 9
1.2.4 同时安装多个Python版本 12
1.3 基础知识 12
1.3.1 对象模型 12
1.3.2 基本数据类型 13
1.3.3 数据类型转换 14
1.3.4 常量、变量、运算符与表达式 15
1.3.5 内置函数 21
1.3.6 基本输入输出 22
1.3.7 关于JSON 23
1.4 Python代码的编写规范 23
1.4.1 换行 23
1.4.2 缩进 24
1.4.3 注释 24
1.4.4 空行 25
习题1 25
第2章 列表、元组、字典和集合 29
2.1 列表 29
2.1.1 列表的概念 29
2.1.2 列表的使用 29
2.2 元组 31
2.2.1 元组对象的创建与删除 32
2.2.2 元组运算符 32
2.2.3 元组与列表相互转换 32
2.2.4 时间元组 32
2.3 字典 34
2.3.1 字典对象的创建与删除 34
2.3.2 字典的使用 34
2.3.3 字典类型的常用函数 35
2.4 集合 36
2.4.1 集合对象的创建与删除 36
2.4.2 集合的使用 37
习题2 39
第3章 选择与循环 43
3.1 选择结构 43
3.1.1 条件运算符 43
3.1.2 单分支选择结构 44
3.1.3 双分支选择结构 45
3.1.4 多分支选择结构 46
3.1.5 选择结构的嵌套 48
3.2 循环结构 51
3.2.1 for循环 51
3.2.2 while循环 52
3.2.3 else语句 52
3.2.4 break和continue语句 53
3.3 综合案例 54
习题3 57
第4章 字符串与正则表达式 61
4.1 字符串 61
4.1.1 字符串编码格式 61
4.1.2 字符串基本操作 63
4.2 正则表达式 68
4.2.1 基本语法 68
4.2.2 正则表达式的应用 70
4.3 综合案例 73
习题4 74
第5章 函数 77
5.1 函数的定义 77
5.2 参数 78
5.2.1 形参与实参 78
5.2.2 参数类型 78
5.2.3 函数返回值 81
5.3 变量的作用域 82
5.3.1 作用域 82
5.3.2 global和nonlocal关键字 82
5.4 lambda表达式 83
5.5 递归函数 84
5.5.1 递归函数的形式 84
5.5.2 汉诺塔游戏 85
5.6 偏函数 86
习题5 87
第6章 面向对象程序设计 89
6.1 面向对象的概念 89
6.2 类的定义与使用 89
6.2.1 类的定义 89
6.2.2 类的实例 90
6.2.3 类的属性 92
6.3 类的方法 93
6.3.1 类的常用内置方法 93
6.3.2 方法的访问控制 94
6.3.3 方法的装饰器 95
6.4 继承 96
6.4.1 子类的__init__()方法 97
6.4.2 子类添加新的属性和方法 97
6.4.3 重写方法 99
6.5 多态 101
6.6 模块与包 102
6.6.1 模块简介 102
6.6.2 模块的使用 102
6.6.3 包 104
习题6 105
第7章 文件 107
7.1 文件基本操作 107
7.1.1 文件类型 107
7.1.2 文件的打开和关闭 108
7.1.3 文件的读写 109
7.1.4 文件的其他操作 110
7.2 目录操作 111
7.2.1 目录操作 111
7.2.2 OS对象和shutil模块 112
7.3 高级文件操作 113
7.3.1 MD5 113
7.3.2 文件比较 115
7.3.3 Office文档操作 115
习题7 119
第8章 图形界面设计 121
8.1 Tkinter 121
8.2 控件 123
8.2.1 标签(Label) 123
8.2.2 框架(Frame) 124
8.2.3 按钮(Button) 125
8.2.4 输入框(Entry) 126
8.2.5 单选按钮(RadioButton)和复选按钮(CheckButton) 128
8.2.6 消息(Message)和消息框(MessageBox) 131
8.2.7 组合框(ComboBox)和列表框(ListBox) 133
8.2.8 滚动条(Scrollbar) 134
8.2.9 绘图组件(Canvas) 135
8.3 wxPython 135
8.3.1 wxPython基础知识 136
8.3.2 Frame的概念与作用 136
习题8 138
第9章 网络编程 141
9.1 计算机网络基础 141
9.1.1 定义及分类 141
9.1.2 网络体系结构及参考模型 141
9.2 Socket编程 143
9.3 嗅探器 146
9.4 抓取网页内容 147
9.4.1 爬虫的基本流程 147
9.4.2 requests库 147
9.5 网站开发 151
9.6 综合案例 153
习题9 155
第10章 大数据 157
10.1 数据分析基础 157
10.1.1 pandas简介 157
10.1.2 获取数据 159
10.2 数据处理 161
10.2.1 引入数据集 161
10.2.2 查询数据 162
10.3 大数据 163
10.3.1 定义 163
10.3.2 结构 164
10.3.3 意义 164
10.3.4 大数据技术 165
10.4 数据分析案例 165
10.4.1 随机数据分析 165
10.4.2 实际数据分析 169
10.4.3 统计分析 170
习题10 173
第11章 线程与进程 175
11.1 进程与线程的基本概念 175
11.1.1 定义 175
11.1.2 关系 175
11.1.3 区别 175
11.2 Python线程 176
11.2.1 threading模块 176
11.2.2 线程锁threading.RLock和threading.Lock 177
11.2.3 threading.Event 179
11.2.4 threading.Condition 180
11.2.5 queue模块 181
11.3 Python进程 183
11.3.1 multiprocessing模块 183
11.3.2 进程池(Pool) 185
11.4 Python协程 187
习题11 188
第12章 数据库编程 191
12.1 概述 191
12.2 MySQL 191
12.2.1 PyMySQL 191
12.2.2 数据库基本操作 193
12.2.3 数据库查询操作 194
12.2.4 数据库更新操作 195
12.2.5 插入和删除操作 196
12.3 Access 197
12.3.1 win32.client 197
12.3.2 pypyodbc模块 199
12.4 事务和错误处理 202
12.4.1 事务 202
12.4.2 错误处理 202
习题12 203
实训部分 206
实训1 Python语言基础 206
实训2 数据类型、序列、字典和集合 207
实训3 选择与循环 209
实训4 字符串与正则表达式 211
实训5 函数设计与使用 212
实训6 面向对象程序设计 213
实训7 文件操作 214
实训8 图形界面设计 216
实训9 网络程序设计 220
实训10 大数据 222
实训11 线程与进程 223
实训12 数据库编程 225
附录A Python 2和Python 3 226
附录B 常用的Python编辑环境 228
附录C Python资源网站 229
附录D 关于配套资源的说明 231
参考文献 232