第1章绪论       1 
1.1 Python概述   1 
1.1.1 Python的发展     1 
1.1.2 Python的特点     2 
1.1.3 Python的应用     3 
1.2 Python开发环境     4 
1.2.1 Python官方标准版开发环境     4 
1.2.2第一个Python程序    5 
1.2.3 Python IDLE的使用   6 
1.2.4 PyCharm集成开发环境   7 
1.2.5 Anaconda集成开发环境     12 
1.2.6 Web版在线开发环境   14 
1.3 模块、包与库      14 
1.3.1模块的安装     15 
1.3.2模块的导入与使用   15 
1.4 turtle对象绘图库    18 
1.4.1 turtle对象编程思维   18 
1.4.2 turtle库概述     20 
1.4.3 turtle绘图操作方法   23
实训与习题     28
第2章 Python基础      30 
2.1 基础语法   30 
2.1.1代码格式       30 
2.1.2标识符与关键字    32 
2.1.3变量与常量     34 
2.2 解释器命名空间     35 
2.2.1 Python解释器    35 
2.2.2命名空间       35 
2.3 函数对象   38 
2.3.1内置函数       38 
2.3.2自定义函数     40 
2.4 类与对象   41 
2.4.1内置类型与对象     41 
2.4.2自定义类       43 
2.4.3自定义元类     44 
2.5 模块对象   45 
2.6 文件对象   46 
2.7 Python代码风格    47 
2.7.1代码布局风格     47 
2.7.2实体命名风格     48 
2.7.3代码注释风格     48 
2.7.4 Python之禅     48
实训与习题     48
第3章数据类型   51 
3.1 概述     51 
3.2 基本数据类型      51 
3.2.1整数类型       51 
3.2.2浮点类型       52 
3.2.3复数类型       53 
3.2.4布尔类型       53 
3.2.5基本类型转换     53 
3.3 组合数据类型      54 
3.3.1字符串  54 
3.3.2字节组  59 
3.3.3列表    61 
3.3.4元组    64 
3.3.5集合    66 
3.3.6å­—å…¸    67 
3.4 	问题描述   70 
3.4.1	问题描述概述     70 
3.4.2人机大战猜拳游戏问题描述     70
实训与习题     71
第4章运算符    73 
4.1 	算术运算符      73 
4.1.1	加法运算符     74 
4.1.2	乘法运算符     74 
4.2 	赋值运算符      75 
4.2.1	基本赋值运算符    76 
4.2.2	扩展赋值运算符    76 
4.3 	比较运算符      76 
4.4 	逻辑运算符      77 
4.5 	成员运算符      79 
4.6 	身份运算符      80 
4.7 	位运算符   80 
4.8 	集合运算符      81 
4.9 	三目运算符      82 
4.10运算符优先级     83 
4.11计算思维   84 
4.11.1 计算思维过程    84 
4.11.2 人机大战猜拳游戏计算思维分析  85
实训与习题     87
第5章流程控制   89 
5.1 	程序流程   89 
5.2 	条件语句   90 
5.2.1 	if语句   90 
5.2.2 	if-else语句     91 
5.2.3 	if-elif-else语句    92 
5.2.4 	if语句嵌套      92 
5.3 	循环语句   93 
5.3.1 	while循环语句    93 
5.3.2 	for循环语句     94 
5.3.3	循环嵌套语句     96 
5.4 	多分支选择语句     98 
5.5 	跳转语句   99 
5.5.1 	break语句      99 
5.5.2 	continue语句      99 
5.6 	人机大战猜拳游戏程序设计案例      100 
5.6.1	程序流程图      100 
5.6.2程序设计      100
实训与习题    101
第6章组合数据类型    103 
6.1 概述      103 
6.1.1	序列类型      103 
6.1.2	集合类型      104 
6.1.3	映射类型      105 
6.1.4	可迭代对象与迭代器      105 
6.2 字符串    107 
6.2.1	字符串概述      107 
6.2.2	字符串的操作方法    109 
6.3 列表      114 
6.3.1	列表推导式      115 
6.3.2	列表的操作方法    116 
6.4 元组      118 
6.4.1	 元组概述      118 
6.4.2	元组推导式      119 
6.5 集合      119 
6.5.1	集合推导式      120 
6.5.2	集合的操作方法    121 
6.5.3 	frozenset集合    124 
6.6 å­—å…¸      125 
6.6.1	字典推导式      126 
6.6.2	字典的操作方法    127 
6.7 	用列表实现人机大战猜拳游戏程序案例   130
实训与习题    131
第7章函数     133 
7.1 函数定义和调用      133 
7.1.1	定义函数      133 
7.1.2	调用函数      134 
7.1.3 	return返回语句     135 
7.2 函数参数传递       136 
7.2.1	位置、关键字和默认参数的传递   136 
7.2.2	参数的打包与解包    137 
7.2.3	 混合传递      139 
7.3 	变量作用域       140 
7.3.1	全局变量      140 
7.3.2	局部变量      141 
7.4 	特殊函数  143 
7.4.1	递归函数      143 
7.4.2 	lambda表达式与匿名函数    144 
7.5 	闭包函数  145 
7.6 	生成器    146 
7.6.1	生成器表达式    146 
7.6.2	生成器函数      147 
7.7 	装饰器    148 
7.7.1	简单装饰器      148 
7.7.2	多个装饰器      149 
7.7.3	插入日志      149 
7.8 	内置高阶函数     150 
7.8.1 	map()函数    150 
7.8.2 	zip()函数     151 
7.9 	面向过程编程案例   152 
7.9.1	面向过程编程思想   152 
7.9.2人机大战猜拳游戏面向过程编程  152
实训与习题    153
第8章类与对象      155 
8.1 	类的定义和对象创建  155 
8.1.1	类的定义      155 
8.1.2	对象创建与使用   156 
8.2 	属性    156 
8.2.1	类属性与对象属性   156 
8.2.2	公有属性与私有属性      159 
8.2.3	特殊属性      159 
8.3 	方法    160 
8.3.1 	对象方法、类方法、静态方法与property方法     160 
8.3.2	公有方法与私有方法      163 
8.3.3	特殊方法      164 
8.4 	Python的对象体系   166 
8.4.1 	object基类    167 
8.4.2 	type元类      170 
8.5 	抽象类    172 
8.5.1	抽象类的使用方式    172 
8.5.2 	abc模块定义抽象类   173 
8.6 	封装、继承和多态    173 
8.6.1	封装    173 
8.6.2	继承    174 
8.6.3	多态    177 
8.7 	面向对象编程案例    178 
8.7.1	面向对象编程思想    178 
8.7.2	人机大战猜拳游戏面向对象编程   178 
8.7.3 	利用对象继承关系的人机大战猜拳游戏编程      179
实训与习题    180
第9章异常、调试与测试  182 
9.1 	异常      182 
9.1.1	异常与错误      182 
9.1.2	异常类型      183 
9.1.3	异常捕获与处理    184 
9.1.4 	raise与assert抛出异常      188 
9.1.5	自定义异常类      190 
9.1.6	异常的传递      191 
9.2 	调试      192 
9.2.1	程序调试策略      192 
9.2.2 	Python调试方法    192 
9.3 	测试      196 
9.3.1	软件测试分类      196 
9.3.2 Python测试技术    198
实训与习题    200
第10章文件与数据格式化 202 
10.1	文件     202 
10.1.1 	文件概述      202 
10.1.2 	文件打开与关闭   204 
10.1.3 	文件读写      208 
10.2	数据格式       212 
10.2.1 	数据维度      212 
10.2.2 	数据的存储格式   213 
10.2.3 数据的读写      214
实训与习题    215 
第11章标准库应用编程  218 
11.1概述    218 
11.2 os操作系统模块     219 
11.3 sys解释器系统模块   220 
11.4时间与日期模块    222 
11.4.1 	time模块     222 
11.4.2 	datatime模块   225 
11.4.3 	calendar模块    229 
11.5  math和random库   231 
11.5.1 	math库     231 
11.5.2 	random库    233 
11.6 Python并发编程    234 
11.6.1 	并发概述     234 
11.6.2 	多进程编程     235 
11.6.3 	多线程编程     237 
11.6.4 	多协程编程     239 
11.7网络编程       240 
11.7.1 	TCP/IP概述     240 
11.7.2 	UDP通信编程   242 
11.7.3 TCP通信编程   243
实训与习题    244
第12章第三方库应用编程 246 
12.1概述    246 
12.2数据分析与可视化   253 
12.2.1 	NumPy科学计算库     253 
12.2.2 	Pandas数据分析库      256 
12.2.3 	Matplotlib数据可视化库     259 
12.2.4 	花园超市水果销售统计图绘制过程      265 
12.2.5 	学生成绩统计分析案例    267 
12.3文本分析与可视化   269 
12.3.1 	jieba库     269 
12.3.2 wordcloud库    271
实训与习题    273
第13章虚拟环境与程序打包发布   275 
13.1 Python虚拟环境    275 
13.1.1 	虚拟环境的创建   275 
13.1.2 	虚拟环境的使用   276 
13.1.3 	虚拟环境的结构   278 
13.2程序打包与发布     278 
13.2.1 	模块的构建与使用      279 
13.2.2 	包的构建与使用   280 
13.2.3 	库的构建      281 
13.2.4 	库的发布      282 
13.3 	PyInstaller库打包Python文件为 exe文件    283 
13.3.1 	程序打包为 exe文件       283 
13.3.2 	PyInstaller工具打包Python文件为exe文件       284
实训与习题    285
第14章项目开发实战——茶叶数据爬虫开发     287 
14.1软件工程       287 
14.1.1 	学习软件工程的意义      287 
14.1.2 	软件工程概述    288 
14.1.3 	软件项目开发流程      289 
14.2 Python网络爬虫开发      290 
14.2.1 	需求分析      291 
14.2.2 	方案规划      291 
14.2.3 	设计描述      292 
14.2.4 	编程实现      293 
14.2.5 测试运行      298
实训与习题    299
参考文献       302