目 录
第 1 章 Python 概述 1
1.1 Python 语言简介 1
1.1.1 什么是 Python 1
1.1.2 Python 的应用领域 2
1.1.3 Python 的特点 2
1.1.4 Python 程序运行机制 3
1.1.5 如何学好 Python 4
1.2 Python 版本简介 5
1.2.1 初学者应该选择哪个版本 5
1.2.2 Python 2.x 的代码转换成 Python 3.x 的代码 6
1.2.3 Python 2.x 和 Python 3.x 的区别 7
1.3 Python 开发环境安装与配置 9
1.3.1 Windows 上安装 Python 开发环境 10
1.3.2 配置 PATH 环境变量 13
1.3.3 编写个 Python 程序 14
1.3.4 PyCharm 安装和使用 15
1.4 Python 编程规范 19
1.4.1 语句 19
1.4.2 注释 19
1.4.3 缩进 20
1.5 扩展库安装方法 21
1.5.1 pip 命令安装 21
1.5.2 手动下载第三方库,再使用 pip 命令安装 22
本章小结 24
习题 24
第 2 章 基本语法 26
2.1 基本概念 26
2.1.1 标识符 26
2.1.2 关键字 27
2.1.3 常量与变量 27
2.1.4 基本数据类型 29
2.2 Python 表达式与运算符 32
2.2.1 表达式 32
2.2.2 运算符 32
2.3 Python 常用内置函数 35
2.4 程序流程控制 36
2.4.1 顺序结构 36
2.4.2 选择结构 36
2.4.3 循环语句 40
2.5 拓展实践 47
2.5.1 打印九九乘法表 47
2.5.2 求素数 47
2.5.3 猜数游戏 48
本章小结 48
习题 49
第 3 章 字符串 51
3.1 字符串概述 51
3.1.1 字符串 51
3.1.2 访问字符串中的值 52
3.1.3 拼接字符串 53
3.2 字符串的编码格式 55
3.2.1 ASCII 码 55
3.2.2 GB2312 码和 GBK 码 55
3.2.3 Unicode 码 55
3.2.4 UTF-8 码 55
3.3 转义字符与原始字符串 56
3.3.1 转义字符 56
3.3.2 原始字符串 58
3.4 字符串格式化 58
3.4.1 %运算符格式化字符串 59
3.4.2 str.format()方法 62
3.4.3 f-string 66
3.5 字符串常用方法与操作 67
3.5.1 获取字符串的长度或字节数 68
3.5.2 分割和合并字符串 69
3.5.3 检索和替换字符串 70
3.5.4 字符串大小写转换 73
3.5.5 去除字符串中的空格和特殊符号 75
3.5.6 字符串编码和解码 76
3.5.7 字符串对齐方法 78
3.6 字符串常量 79
3.7 正则表达式 80
3.7.1 匹配字符串 80
3.7.2 替换字符串 84
3.7.3 分割字符串 84
3.7.4 元字符 85
3.8 拓展实践 86
3.8.1 统计各类字符的个数 86
3.8.2 模拟微信发红包 87
本章小结 88
习题 89
第 4 章 Python 数据结构 91
4.1 概述 91
4.2 列表 92
4.2.1 创建和删除列表 92
4.2.2 列表的常用操作 93
4.2.3 列表推导式 98
4.2.4 列表常用函数 99
4.3 元组 102
4.3.1 区分元组和列表 102
4.3.2 创建元组 103
4.3.3 元组的常用操作 104
4.4 字典 106
4.4.1 创建字典 107
4.4.2 访问字典元素 109
4.4.3 字典常用的函数和方法 110
4.5 集合 113
4.5.1 创建集合 113
4.5.2 集合运算 114
4.5.3 集合常用函数和方法 116
4.6 拓展实践 116
4.6.1 皮具保养小贴士 116
4.6.2 日期判断 117
本章小结 121
习题 121
第 5 章 函数 123
5.1 函数定义与调用 123
5.1.1 函数定义 124
5.1.2 函数调用 125
5.2 参数传递 127
5.2.1 位置参数 127
5.2.2 默认参数 128
5.2.3 关键字参数 129
5.2.4 可变长度参数 129
5.2.5 序列作函数参数 130
5.3 变量作用域 132
5.3.1 局部变量 132
5.3.2 全局变量 133
5.3.3 global 关键字和 nonlocal 关键字 134
5.4 匿名函数 135
5.5 递归函数 137
5.6 拓展实践 138
5.6.1 计算会员折扣 138
5.6.2 手机菜单 139
5.6.3 删除偶数/奇数 141
本章小结 142
习题 143
第 6 章 面向对象 146
6.1 面向过程和面向对象 146
6.2 类 147
6.3 对象 148
6.4 类的属性和方法 149
6.4.1 属性 149
6.4.2 方法 150
6.5 封装 152
6.6 继承 154
6.6.1 继承的语法 154
6.6.2 多继承 155
6.6.3 方法的重写 156
6.6.4 未绑定方法 157
6.6.5 使用 super()函数调用父类的构造方法 158
6.7 Python 语言的动态性 160
6.7.1 添加和删除对象属性 160
6.7.2 添加类属性 161
6.7.3 动态添加方法 162
6.7.4 动态属性与__slots__ 163
6.7.5 使用 type()函数动态创建类 164
6.7.6 使用 metaclass 动态修改类 165
6.8 多态 167
6.9 枚举类 169
6.10 拓展实践 172
6.10.1 定义类和实例化对象实践 172
6.10.2 类的方法实践 172
6.10.3 类的继承实践 173
本章小结 174
习题 174
第 7 章 模块与包 176
7.1 模块 176
7.1.1 导入模块 177
7.1.2 自定义模块 179
7.1.3 为模块编写说明文档 180
7.1.4 为模块编写测试代码 181
7.1.5 模块的__all__变量 182
7.1.6 查看模块内容 183
7.2 包 184
7.2.1 定义包 185
7.2.2 导入包 185
7.3 拓展实践 187
7.3.1 模块定义和导入 187
7.3.2 导入模块时起别名 188
本章小结 188
习题 189
第 8 章 异常 191
8.1 异常与错误 191
8.2 异常处理机制 192
8.2.1 使用 try.except 捕获异常 192
8.2.2 使用 try.except.else 捕获异常194
8.2.3 使用 try.except.finally 捕获异常 195
8.2.4 使用 raise 引发异常 197
8.2.5 获取异常信息 198
8.3 自定义异常类 199
8.4 异常处理规则 200
8.5 拓展实践 201
8.5.1 猜数字 201
8.5.2 年龄异常判断 202
本章小结 202
习题 203
第 9 章 文件 205
9.1 文件基础知识 205
9.2 文件的基本操作 206
9.2.1 open()函数 206
9.2.2 close()方法 208
9.2.3 write()方法 209
9.2.4 read()方法 210
9.2.5 readline()方法 210
9.2.6 readlines()方法 211
9.3 os 模块与文件夹操作 212
9.3.1 mkdir()函数 215
9.3.2 chdir()函数 215
9.3.3 rmdir()函数 216
9.3.4 rename()函数 216
9.3.5 remove()函数 217
9.4 拓展实践 217
9.4.1 文件应用实践一 217
9.4.2 文件应用实践二 218
本章小结 219
习题 219
第 10 章 课程设计—商品库存管理 221
10.1 需求分析 221
10.2 主界面设计 221
10.3 各功能模块设计 222
本章小结 228
习题 229
习题参考答案 230
参考文献 243