Python是一门简单易学、功能强大的编程语言,它内建高效的数据结构,拥有丰富的第三方开发库,能够用简单高效的方式编程。本书由浅入深、循序渐进地阐述Python语言的基础知识和基本语法。本书以15章的篇幅来介绍Python,具体包括Python语言概述,Python语言基础,字符串和列表,元组、字典和集合,程序流程控制,函数,正则表达式,文件与文件夹操作,面向对象程序设计,模块和包,错误和异常处理,Tkinter图形用户界面设计,数据可视化,数据库编程及商场信息管理系统设计与实现等项目实训的内容。
本书可作为普通高校计算机、大数据、人工智能、自动化、电子信息等专业的教材,也可作为Python软件开发人员的参考资料,还可作为初学者自学Python程序设计的参考书。
本书配有电子课件,欢迎选用本书作教材的教师登录www.cmpedu.com注册下载,或发邮件至jinacmp@163.com索取。
前 言
本书视频与资源下载二维码汇总表
第1章 Python语言概述1
1.1 Python语言的特点1
1.2 Python应用领域1
1.3 下载和安装Python2
1.3.1 下载Python安装文件2
1.3.2 安装Python2
1.4 编写Python代码的方式4
1.4.1 用带图形界面的Python Shell编写
交互式代码4
1.4.2 用带图形界面的Python Shell编写
程序代码5
1.5 Anaconda安装与使用6
1.5.1 Anaconda安装步骤6
1.5.2 Anaconda使用7
1.6 Python代码编写规范9
1.6.1 Python单行注释9
1.6.2 Python多行注释10
1.6.3 Python语句缩进10
1.7 程序设计错误11
1.7.1 语法错误11
1.7.2 运行时错误12
1.7.3 逻辑错误12
1.8 Python在线帮助12
1.8.1 Python交互式帮助系统12
1.8.2 Python文档14
1.9 习题16
第2章 Python语言基础17
2.1 编写一个简单的程序17
2.2 对象和引用20
2.2.1 对象的身份20
2.2.2 对象的类型21
2.2.3 对象的值21
2.2.4 对象的引用21
2.3 数值数据类型与算术运算符24
2.3.1 数值数据类型24
2.3.2 算术运算符24
2.3.3 增强型赋值运算符25
2.3.4 常见的Python数学函数25
2.4 非算术运算符29
2.4.1 Python关系运算符29
2.4.2 Python逻辑运算符29
2.4.3 Python成员运算符30
2.4.4 Python身份运算符30
2.4.5 运算符的优先级31
2.5 库的导入与扩展库的安装32
2.5.1 库的导入32
2.5.2 扩展库的安装33
2.6 基于turtle模块的简单绘图程序设计34
2.6.1 画布34
2.6.2 画笔36
2.6.3 绘制太极图37
2.7 习题38
第3章 字符串和列表39
3.1 字符串基础39
3.1.1 创建字符串39
3.1.2 字符编码40
3.1.3 转义字符41
3.2 print()输出函数42
3.3 字符串运算43
3.3.1 处理字符串的函数43
3.3.2 下标运算符43
3.3.3 切片运算符44
3.3.4 连接运算符和复制运算符45
3.3.5 in和not in运算符45
3.3.6 格式化字符串运算符46
3.4 字符串对象的常用方法47
3.4.1 去除字符串空白符及指定字符47
3.4.2 字符串中的字符处理48
3.4.3 字符串搜索与替换48
3.4.4 连接与分割字符串49
3.4.5 字符串映射应用实例51
3.4.6 字符串判断相关51
3.4.7 字符串对齐及填充52
3.4.8 字符串格式化53
3.5 字符串常量54
3.6 列表基础55
3.6.1 创建列表55
3.6.2 修改列表56
3.6.3 切片列表57
3.7 序列数据类型的常用操作58
3.8 列表对象的常用方法59
3.9 列表推导式62
3.10 用于列表的一些常用函数63
3.11 二维列表64
3.11.1 创建二维列表65
3.11.2 处理二维列表66
3.12 文件的基本操作66
3.13 用turtle绘制文本68
3.14 习题69
第4章 元组、字典和集合70
4.1 元组70
4.1.1 创建元组70
4.1.2 访问元组70
4.1.3 修改元组71
4.1.4 生成器推导式71
4.2 字典72
4.2.1 创建字典72
4.2.2 访问字典73
4.2.3 添加与修改字典元素75
4.2.4 删除字典元素77
4.2.5 复制字典77
4.2.6 字典推导式78
4.3 集合数据类型78
4.3.1 创建集合79
4.3.2 集合添加元素79
4.3.3 集合元素删除79
4.3.4 集合运算80
4.3.5 集合推导式81
4.4 序列解包81
4.5 使用OpenCV处理图像82
4.5.1 安装OpenCV82
4.5.2 读入、显示与保存图像83
4.5.3 图像颜色变换84
4.5.4 图像裁剪89
4.5.5 图像的几何变换90
4.6 习题94
第5章 程序流程控制95
5.1 布尔表达式95
5.2 选择结构96
5.2.1 if单分支选择结构96
5.2.2 if-else双分支选择结构96
5.2.3 if-elif-else多分支选择结构97
5.3 条件表达式98
5.4 while循环结构99
5.5 for循环结构100
5.6 循环中的break,continue和else103
5.6.1 用break语句提前终止循环103
5.6.2 用continue语句提前结束本次
循环104
5.6.3 循环语句的else子句105
5.7 综合实战:简易购物车106
5.8 习题108
第6章 函数109
6.1 函数定义109
6.2 函数调用110
6.2.1 带有返回值的函数调用111
6.2.2 不带返回值的函数调用114
6.3 函数参数传递114
6.4 函数参数的类型115
6.4.1 位置参数115
6.4.2 关键字参数116
6.4.3 默认值参数116
6.4.4 可变长参数117
6.5 lambda表达式119
6.5.1 lambda匿名函数和def函数的
区别119
6.5.2 自由变量对lambda表达式的影响121
6.6 变量的作用域122
6.6.1 全局变量122
6.6.2 局部变量123
6.7 函数的递归调用124
6.8 常用内置函数128
6.8.1 map( )函数128
6.8.2 reduce( )函数129
6.8.3 filter( )函数131
6.9 习题131
第7章 正则表达式133
7.1 正则表达式的构成133
7.2 正则表达式的分组匹配137
7.3 正则表达式的选择匹配138
7.4 正则表达式的引用匹配138
7.5 正则表达式的贪婪匹配与懒惰匹配139
7.6 正则表达式模块re140
7.7 习题145
第8章 文件与文件夹操作147
8.1 文本文件的读取和写入147
8.1.1 文本文件的打开与读取147
8.1.2 文本文件的写入151
8.1.3 文本文件指针的定位152
8.2 二进制文件的写入和字节数据类型
的转换153
8.2.1 二进制文件的写入153
8.2.2 字节数据类型的转换154
8.3 文件与文件夹操作156
8.3.1 使用os模块操作文件与文件夹156
8.3.2 使用os.path模块操作文件与
文件夹158
8.3.3 使用shutil模块操作文件与
文件夹161
8.4 习题163
第9章 面向对象程序设计164
9.1 创建和使用类164
9.1.1 创建类164
9.1.2 根据类创建实例165
9.2 类中的属性166
9.2.1 类的对象属性和类属性166
9.2.2 私有属性和公有属性169
9.3 类中的方法170
9.3.1 类的对象方法170
9.3.2 类方法171
9.3.3 类的静态方法172
9.3.4 把类中的方法装饰成属性174
9.4 类的继承177
9.4.1 单继承177
9.4.2 多重继承180
9.4.3 查看继承的层次关系181
9.5 object类182
9.6 自定义矩阵类183
9.7 使用Python实现感知器分类188
9.7.1 感知器模型188
9.7.2 感知器学习算法189
9.7.3 Python实现感知器学习算法191
9.7.4 使用感知器分类鸢尾花数据192
9.8 习题195
第10章 模块和包196
10.1 模块196
10.1.1 模块的创建196
10.1.2 模块的导入和使用197
10.1.3 模块的主要属性198
10.2 导入模块时搜索目录的顺序与系统
目录的添加201
10.2.1 导入模块时搜索目录的顺序201
10.2.2 使用sys.path.append()临时增添
系统目录202
10.2.3 使用pth文件永久添加系统目录202
10.2.4 使用PYTHONPATH环境变量
永久添加系统目录203
10.3 包203
10.3.1 包的创建203
10.3.2 包的导入与使用204
10.4 习题205
第11章 错误和异常处理206
11.1 程序的错误206
11.1.1 常犯的9个错误206
11.1.2 常见的错误类型209
11.2 异常处理212
11.2.1 异常概述212
11.2.2 异常类型212
11.2.3 异常处理结构213
11.2.4 主动抛出异常218
11.2.5 自定义异常类219
11.3 断言处理222
11.3.1 断言处理概述222
11.3.2 启用/禁用断言223
11.3.3 断言使用场景223
11.4 习题225
第12章 Tkinter图形用户界面设计226
12.1 图形界面开发库226
12.2 Tkinter图形用户界面库227
12.2.1 Tkinter概述227
12.2.2 Tkinter图形用户界面的构成227
12.3 常用Tkinter组件的使用228
12.3.1 标签组件228
12.3.2 按钮组件230
12.3.3 单选按钮组件233
12.3.4 单行文本框组件235
12.3.5 多行文本框组件237
12.3.6 复选框组件239
12.3.7 列表框组件243
12.3.8 菜单组件245
12.3.9 消息组件247
12.3.10 对话框247
12.3.11 框架组件250
12.4 Tkinter主要的几何布局管理器250
12.4.1 pack布局管理器250
12.4.2 grid布局管理器252
12.4.3 place布局管理器253
12.5 习题254
第13章 数据可视化255
13.1 PyeCharts数据可视化255
13.1.1 绘制柱状图256
13.1.2 绘制折线图258
13.1.3 绘制饼图260
13.1.4 绘制雷达图260
13.1.5 绘制漏斗图261
13.1.6 绘制3D立体图262
13.1.7 绘制词云图263
13.2 WordCloud()函数绘制词云图264
13.3 习题269
第14章 数据库编程270
14.1 数据库基础270
14.1.1 关系型数据库270
14.1.2 通用数据库访问模块271
14.2 SQLite3数据库271
14.2.1 Connection对象272
14.2.2 Cursor对象273
14.3 Access数据库276
14.3.1 用Access 2010创建Access数据库276
14.3.2 操作Access数据库279
14.4 MySQL数据库280
14.4.1 连接MySQL数据库280
14.4.2 创建游标对象280
14.4.3 执行sql语句281
14.4.4 创建数据库281
14.4.5 创建数据表282
14.4.6 插入数据283
14.4.7 查询数据284
14.4.8 更新和删除数据285
14.5 JSON数据286
14.5.1 JSON数据格式286
14.5.2 Python编码和解码JSON数据287
14.5.3 Python操作JSON文件288
14.6 习题289
第15章 商场信息管理系统设计与实现290
15.1 系统分析290
15.1.1 需求分析290
15.1.2 系统架构290
15.2 系统设计291
15.2.1 概要设计291
15.2.2 数据表设计291
15.2.3 模块设计292
15.3 系统实现293
15.3.1 登录界面293
15.3.2 主界面295
15.3.3 shangpinAction类297
15.3.4 vipAction类299
15.3.5 workerAction类300
参考文献302