Python程序设计基础教程 / 普通高等教育“十四五”系列教材
定价:¥50.00
作者: 复旦大学计算机基础教学团队
出版时间:2024-08
最新印次日期:2024-8
出版社:中国铁道出版社
- 中国铁道出版社
- 9787113313807
- 1-1
- 521442
- 49259263-9
- 16开
- 2024-08
- 计算机类
- 本科
内容简介
Python语言是一种面向对象的程序语言,具有易于学习、易于使用、易于维护、功能强大等一系列特点,在大数据与人工智能领域应用广泛。本书共分为13章,分别为程序设计概述,标准输入输出,数据类型和运算,列表基础,切片和推导式,元组、字典、集合,分支结构,循环结构,字符串,文本文件操作,正则表达式,函数,异常处理。本书结合多年的教学实践编写而成,实例丰富、语言精炼、逻辑层次清晰,适合作为普通高等院校Python程序设计相关课程的教材,也可作为相关专业人员学习Python程序设计语言的参考书。。
目录
第 1 章程序设计概述.......................... 1
1.1计算机概述................................... 1
1.1.1计算机分类 .................................1
1.1.2 计算机组成 .................................3
1.1.3 操作系统 .....................................4
1.2 程序设计语言 ............................... 5
1.2.1程序设计语言的种类 .................5
1.2.2高级语言的分类 .........................6
1.2.3 Python 语言的特点 .....................7
1.3 Python 程序的运行 ...................... 8
1.3.1 Python 的安装 .............................9
1.3.2交互模式运行 ........................... 11
1.3.3脚本模式运行 ...........................14
1.4 对象基础 .................................... 16
1.4.1对象与类型 ...............................16
1.4.2变量与赋值 ...............................17
1.4.3类型检查 ...................................19
1.4.4 等值与等同 ...............................21
1.5 程序规范 .................................... 22
1.5.1 模块导入 ...................................22
1.5.2代码注释 ...................................23
1.5.3程序错误 ...................................23
小结 .................................................... 24
习题 .................................................... 24
第 2 章基本概念与标准输入输出 ... 26
2.1 基本概念 .................................... 26
2.1.1数据类型分类 ...........................26
2.1.2函数简介 ...................................29
2.2 表达式 ........................................ 30
2.2.1表达式的概念 ...........................30
2.2.2表达式执行顺序 .......................31
2.2.3 eval() 函数 .................................32
2.3 数据类型转换 ............................. 33
2.3.1隐式类型转换 ...........................33
2.3.2显式类型转换 ...........................34
2.4 序列解包 .................................... 36
2.5字符串与格式化 ......................... 38
2.5.1字符串的表示 ...........................38
2.5.2转义字符 ...................................40
2.5.3字符串格式化 ...........................42
2.6 输入函数 input() ......................... 45
2.6.1函数定义与用法 .......................45
2.6.2输入函数的返回值与类型转换 ......46
2.7 输出函数 print() .......................... 47
2.7.1函数定义与用法 .......................47
2.7.2输出函数的返回值 ...................48
2.7.3格式化输出 ...............................49
小结 .................................................... 49
习题 .................................................... 49
第 3 章数据类型和运算.................... 51
3.1 简单数据类型 ............................. 51
3.1.1数值类型 ...................................51
3.1.2字符串及常见操作 ...................53
3.1.3变量及类型转换 .......................56
3.2 Python 的基本运算和表达式 ...... 60
3.2.1运算符 .......................................60
3.2.2算术运算 ...................................61
3.2.3赋值、关系和逻辑运算 ...........62
3.2.4表达式 .......................................66
小结 .................................................... 67
习题 .................................................... 67
第4章列表基础................................ 69
4.1 列表概述 .................................... 69
4.2 创建列表 .................................... 69
4.2.1 list() 函数 ..................................70
4.2.2 range() 函数 ..............................70
4.3 列表访问与计数 ......................... 72
4.4列表修改 .................................... 75
4.5列表排序与反转 ......................... 76
4.5.1列表排序 list.sort() 方法 ..........76
4.5.2列表排序 sorted() 函数 .............76
4.5.3列表反转 list.reverse() 方法 .....77
4.5.4列表反转 reversed() 函数 .........77
4.6列表删除 .................................... 78
4.7 列表拷贝 .................................... 79
4.7.1 浅拷贝 .......................................79
4.7.2 深拷贝 .......................................80
4.8 内置库函数实例 ......................... 80
4.9 列表及多级列表的关系运算 ....... 85
4.10 列表的实际应用案例 ................ 86
4.10.1案例:购物清单操作 .............86
4.10.2案例:学生信息管理 .............87
小结 .................................................... 88
习题 .................................................... 88
第 5 章元组、字典、集合................ 89
5.1 元组的概念与定义 ...................... 89
5.2 元组的操作................................. 90
5.2.1元组的创建 ...............................91
5.2.2元组的访问 ...............................92
5.2.3元组的删除 ...............................93
5.2.4元组的其他操作 .......................93
5.3 字典的概念与定义 ...................... 95
5.4 字典的操作................................. 96
5.4.1字典的创建 ...............................96
5.4.2字典的读取 ...............................98
5.4.3字典的添加与修改 ...................99
5.4.4字典的删除 .............................100
5.4.5字典的其他操作 .....................102
5.5 集合的概念与定义 .................... 103
5.6 集合的操作............................... 104
5.6.1集合的创建 .............................104
5.6.2集合的运算 .............................106
5.6.3集合的更改 .............................108
5.6.4集合的删除 .............................109
5.6.5集合的其他操作 ..................... 110
小结 ...................................................111
习题 ...................................................111
第 6 章切片和推导式.......................112
6.1 切片概念 ...................................112
6.1.1切片语法格式 ......................... 112
6.1.2切片含义 ................................. 113
6.1.3切片操作优点 ......................... 114
6.2用切片检索元素 ........................114
6.2.1 step>0 正向检索元素 ............. 114
6.2.2 step0 正向检索元素 ............. 114
6.2.2 step<0 逆向检索元素 ............. 117
6.3用切片修改元素 ........................119
6.3.1 step 等于 1...............................120
6.3.2 step 不等于 1...........................122
6.3.3 del 切片 ...................................123
6.4切片实例 .................................. 124
6.5 推导式的概念 ........................... 127
6.5.1含一个 for/if 子句的列表推导式 ................127
6.5.2含多个 for/if 子句的列表推导式 ................129
6.5.3其他类型推导式 .....................130
6.6 列表推导式的嵌套 .................... 133
6.7 推导式实例............................... 133
小结 .................................................. 136
习题 .................................................. 136
第 7 章分支结构.............................. 139
7.1 条件表达式............................... 139
7.2 单分支 ...................................... 143
7.3单分支实例............................... 144
7.4双分支 ...................................... 145
7.5 双分支实例............................... 147
7.6 多分支 ...................................... 149
7.7 多分支实例............................... 151
7.8 分支嵌套 .................................. 153
7.9分支嵌套实例 ........................... 153
小结 .................................................. 155
习题 .................................................. 155
第 8 章循环结构.............................. 157
8.1 for 循环 .................................... 157
8.2 while 循环 ................................ 160
8.3 break 和 continue 语句 ............ 166
8.4 循环嵌套和循环结构优化 ......... 172
8.4.1 循环嵌套 .................................172
8.4.2循环嵌套中的 break和 continue 语句 ........173
8.4.3 循环结构优化 .........................175
8.5 二维列表 .................................. 176
小结 .................................................. 177
习题 .................................................. 178
第 9 章字符串.................................. 179
9.1 字符编码 .................................. 179
9.1.1字符集与编码 .........................180
9.1.2转义序列与原始字符串 .........181
9.2字符串常量............................... 182
9.3 分割与连接方法 ....................... 182
9.3.1 split()、rsplit()、partition()、rpartition() 等方法 ..................182
9.3.2 join() 方法 ...............................183
9.4 查找与替换方法 ....................... 184
9.4.1 find()、rfind()、index()、rindex()、count() 等方法 ............184
9.4.2 replace()、maketrans()、translate() 等方法 ....................184
9.5 转换与检验方法 ....................... 185
9.5.1 lower()、upper()、capitalize()、title()、swapcase() 等方法 .....185
9.5.2 isalnum()、isalpha() 等方法 ...186
9.5.3 startswith()、endswith()等方法 ..................187
9.6 对齐与消减方法 ....................... 187
9.6.1 center()、ljust()、rjust()、zfill() 等方法 .....187
9.6.2 strip()、lstrip()、rstrip()等方法 ....................188
9.7 格式化方法............................... 189
9.7.1使用 % 运算符进行格式化 ....189
9.7.2使用 format() 方法进行格式化 ......191
9.7.3格式化的字符串常量 .............192
9.7.4模板字符串 .............................192
9.8 实例 ......................................... 193
小结 .................................................. 194
习题.................................................. 194
第 10 章文本文件............................ 195
10.1 文件概述 ................................ 195
10.2 Python 的文件对象 ................ 198
10.2.1文件打开和关闭 ...................198
10.2.2文件对象的属性 ...................200
10.2.3三种文件操作方式 ...............201
10.2.4文件对象的常用操作 ............202
10.3 文本文件的操作 ..................... 203
10.3.1读文件 ...................................203
10.3.2写文件 ...................................204
10.3.3文件指针操作 .......................205
10.3.4文件操作中的异常处理和错误检查 .......206
10.3.5文件读写实例 .......................207
10.4 文件和目录操作 ..................... 210
10.4.1 os 模块 ..................................210
10.4.2 shutil 模块 ............................. 211
10.4.3文件和目录操作实例 ............212
小结 .................................................. 213
习题 .................................................. 213
第 11 章正则表达式 ........................ 215
11.1 问题的提出 ............................. 215
11.1.1正则表达式的定义 ...............216
11.1.2 初步练习正则表达式 .............217
11.2 正则表达式入门 ...................... 218
11.2.1 语法规则 ...............................218
11.2.2 元字符与转义 .......................219
11.2.3 规则 .......................................219
11.3 正则表达式进阶 ...................... 222
11.3.1 基础 .......................................222
11.3.2 扩展 .......................................223
11.3.3 选择 .......................................224
11.4在 Python 中使用正则表达式 ............................. 224
11.4.1直接使用模块函数(re) ............................224
11.4.2 编译正则表达式对象 ...........226
11.4.3 匹配结果对象(match object) ..................226
11.4.4可配置选项(flags) ............227
11.5正则表达式的实际应用案例 ..... 228
11.5.1案例 1:复旦大学的邮箱后缀更新 ................228
11.5.2 案例 2:日志文件中错误信息的提取 ..............229
11.5.3案例 3:从网页代码中提取链接 ..................230
11.5.4案例 4:验证用户输入的格式 ......................230
11.5.5案例 5:批量重命名文件 和整理数据文件 .....231
小结 .................................................. 232
习题 .................................................. 232
第 12 章函数.................................... 233
12.1函数概述 ................................ 233
12.2 参数传递和返回值 .................. 236
12.3 实参和形参............................. 239
12.3.1 函数调用的参数 ...................239
12.3.2 默认值参数 ...........................240
12.3.3可变长度参数 .......................242
12.3.4 仅允许位置和关键字参数传递的形参 .......243
12.3.5 函数调用的序列解包 ...........245
12.3.6 类型提示 ...............................246
12.4 名字空间 ................................ 247
12.5 装饰器 .................................... 252
12.6 lambda 表达式 ....................... 253
12.7 高阶函数 ................................ 254
12.7.1 map()、filter() 和 reduce()函数 ......254
12.7.2 sorted() 函数 ..........................256
12.7.3生成器函数 ...........................260
12.8 递归函数 ................................ 262
小结 .................................................. 265
习题 .................................................. 266
第 13 章异常处理的组成................ 272
13.1 异常的定义............................. 272
13.2 常见异常类............................. 273
13.3 异常处理的组成 ..................... 275
13.4 try 语句的变体 ........................ 278
13.5 引发异常 ................................ 279
13.5.1 引发异常的形式 ...................279
13.5.2引发自定义异常 ...................282
13.5.3 决定何时引发异常 ...............283
13.6 异常处理方式 ......................... 283
13.7断言 ....................................... 285
13.7.1断言的作用 ...........................285
13.7.2禁用断言 ...............................287
13.7.3 使用断言的陷阱 ...................288
小结 .................................................. 288
习题 .................................................. 289
参考文献.............................................. 290
1.1计算机概述................................... 1
1.1.1计算机分类 .................................1
1.1.2 计算机组成 .................................3
1.1.3 操作系统 .....................................4
1.2 程序设计语言 ............................... 5
1.2.1程序设计语言的种类 .................5
1.2.2高级语言的分类 .........................6
1.2.3 Python 语言的特点 .....................7
1.3 Python 程序的运行 ...................... 8
1.3.1 Python 的安装 .............................9
1.3.2交互模式运行 ........................... 11
1.3.3脚本模式运行 ...........................14
1.4 对象基础 .................................... 16
1.4.1对象与类型 ...............................16
1.4.2变量与赋值 ...............................17
1.4.3类型检查 ...................................19
1.4.4 等值与等同 ...............................21
1.5 程序规范 .................................... 22
1.5.1 模块导入 ...................................22
1.5.2代码注释 ...................................23
1.5.3程序错误 ...................................23
小结 .................................................... 24
习题 .................................................... 24
第 2 章基本概念与标准输入输出 ... 26
2.1 基本概念 .................................... 26
2.1.1数据类型分类 ...........................26
2.1.2函数简介 ...................................29
2.2 表达式 ........................................ 30
2.2.1表达式的概念 ...........................30
2.2.2表达式执行顺序 .......................31
2.2.3 eval() 函数 .................................32
2.3 数据类型转换 ............................. 33
2.3.1隐式类型转换 ...........................33
2.3.2显式类型转换 ...........................34
2.4 序列解包 .................................... 36
2.5字符串与格式化 ......................... 38
2.5.1字符串的表示 ...........................38
2.5.2转义字符 ...................................40
2.5.3字符串格式化 ...........................42
2.6 输入函数 input() ......................... 45
2.6.1函数定义与用法 .......................45
2.6.2输入函数的返回值与类型转换 ......46
2.7 输出函数 print() .......................... 47
2.7.1函数定义与用法 .......................47
2.7.2输出函数的返回值 ...................48
2.7.3格式化输出 ...............................49
小结 .................................................... 49
习题 .................................................... 49
第 3 章数据类型和运算.................... 51
3.1 简单数据类型 ............................. 51
3.1.1数值类型 ...................................51
3.1.2字符串及常见操作 ...................53
3.1.3变量及类型转换 .......................56
3.2 Python 的基本运算和表达式 ...... 60
3.2.1运算符 .......................................60
3.2.2算术运算 ...................................61
3.2.3赋值、关系和逻辑运算 ...........62
3.2.4表达式 .......................................66
小结 .................................................... 67
习题 .................................................... 67
第4章列表基础................................ 69
4.1 列表概述 .................................... 69
4.2 创建列表 .................................... 69
4.2.1 list() 函数 ..................................70
4.2.2 range() 函数 ..............................70
4.3 列表访问与计数 ......................... 72
4.4列表修改 .................................... 75
4.5列表排序与反转 ......................... 76
4.5.1列表排序 list.sort() 方法 ..........76
4.5.2列表排序 sorted() 函数 .............76
4.5.3列表反转 list.reverse() 方法 .....77
4.5.4列表反转 reversed() 函数 .........77
4.6列表删除 .................................... 78
4.7 列表拷贝 .................................... 79
4.7.1 浅拷贝 .......................................79
4.7.2 深拷贝 .......................................80
4.8 内置库函数实例 ......................... 80
4.9 列表及多级列表的关系运算 ....... 85
4.10 列表的实际应用案例 ................ 86
4.10.1案例:购物清单操作 .............86
4.10.2案例:学生信息管理 .............87
小结 .................................................... 88
习题 .................................................... 88
第 5 章元组、字典、集合................ 89
5.1 元组的概念与定义 ...................... 89
5.2 元组的操作................................. 90
5.2.1元组的创建 ...............................91
5.2.2元组的访问 ...............................92
5.2.3元组的删除 ...............................93
5.2.4元组的其他操作 .......................93
5.3 字典的概念与定义 ...................... 95
5.4 字典的操作................................. 96
5.4.1字典的创建 ...............................96
5.4.2字典的读取 ...............................98
5.4.3字典的添加与修改 ...................99
5.4.4字典的删除 .............................100
5.4.5字典的其他操作 .....................102
5.5 集合的概念与定义 .................... 103
5.6 集合的操作............................... 104
5.6.1集合的创建 .............................104
5.6.2集合的运算 .............................106
5.6.3集合的更改 .............................108
5.6.4集合的删除 .............................109
5.6.5集合的其他操作 ..................... 110
小结 ...................................................111
习题 ...................................................111
第 6 章切片和推导式.......................112
6.1 切片概念 ...................................112
6.1.1切片语法格式 ......................... 112
6.1.2切片含义 ................................. 113
6.1.3切片操作优点 ......................... 114
6.2用切片检索元素 ........................114
6.2.1 step>0 正向检索元素 ............. 114
6.2.2 step0 正向检索元素 ............. 114
6.2.2 step<0 逆向检索元素 ............. 117
6.3用切片修改元素 ........................119
6.3.1 step 等于 1...............................120
6.3.2 step 不等于 1...........................122
6.3.3 del 切片 ...................................123
6.4切片实例 .................................. 124
6.5 推导式的概念 ........................... 127
6.5.1含一个 for/if 子句的列表推导式 ................127
6.5.2含多个 for/if 子句的列表推导式 ................129
6.5.3其他类型推导式 .....................130
6.6 列表推导式的嵌套 .................... 133
6.7 推导式实例............................... 133
小结 .................................................. 136
习题 .................................................. 136
第 7 章分支结构.............................. 139
7.1 条件表达式............................... 139
7.2 单分支 ...................................... 143
7.3单分支实例............................... 144
7.4双分支 ...................................... 145
7.5 双分支实例............................... 147
7.6 多分支 ...................................... 149
7.7 多分支实例............................... 151
7.8 分支嵌套 .................................. 153
7.9分支嵌套实例 ........................... 153
小结 .................................................. 155
习题 .................................................. 155
第 8 章循环结构.............................. 157
8.1 for 循环 .................................... 157
8.2 while 循环 ................................ 160
8.3 break 和 continue 语句 ............ 166
8.4 循环嵌套和循环结构优化 ......... 172
8.4.1 循环嵌套 .................................172
8.4.2循环嵌套中的 break和 continue 语句 ........173
8.4.3 循环结构优化 .........................175
8.5 二维列表 .................................. 176
小结 .................................................. 177
习题 .................................................. 178
第 9 章字符串.................................. 179
9.1 字符编码 .................................. 179
9.1.1字符集与编码 .........................180
9.1.2转义序列与原始字符串 .........181
9.2字符串常量............................... 182
9.3 分割与连接方法 ....................... 182
9.3.1 split()、rsplit()、partition()、rpartition() 等方法 ..................182
9.3.2 join() 方法 ...............................183
9.4 查找与替换方法 ....................... 184
9.4.1 find()、rfind()、index()、rindex()、count() 等方法 ............184
9.4.2 replace()、maketrans()、translate() 等方法 ....................184
9.5 转换与检验方法 ....................... 185
9.5.1 lower()、upper()、capitalize()、title()、swapcase() 等方法 .....185
9.5.2 isalnum()、isalpha() 等方法 ...186
9.5.3 startswith()、endswith()等方法 ..................187
9.6 对齐与消减方法 ....................... 187
9.6.1 center()、ljust()、rjust()、zfill() 等方法 .....187
9.6.2 strip()、lstrip()、rstrip()等方法 ....................188
9.7 格式化方法............................... 189
9.7.1使用 % 运算符进行格式化 ....189
9.7.2使用 format() 方法进行格式化 ......191
9.7.3格式化的字符串常量 .............192
9.7.4模板字符串 .............................192
9.8 实例 ......................................... 193
小结 .................................................. 194
习题.................................................. 194
第 10 章文本文件............................ 195
10.1 文件概述 ................................ 195
10.2 Python 的文件对象 ................ 198
10.2.1文件打开和关闭 ...................198
10.2.2文件对象的属性 ...................200
10.2.3三种文件操作方式 ...............201
10.2.4文件对象的常用操作 ............202
10.3 文本文件的操作 ..................... 203
10.3.1读文件 ...................................203
10.3.2写文件 ...................................204
10.3.3文件指针操作 .......................205
10.3.4文件操作中的异常处理和错误检查 .......206
10.3.5文件读写实例 .......................207
10.4 文件和目录操作 ..................... 210
10.4.1 os 模块 ..................................210
10.4.2 shutil 模块 ............................. 211
10.4.3文件和目录操作实例 ............212
小结 .................................................. 213
习题 .................................................. 213
第 11 章正则表达式 ........................ 215
11.1 问题的提出 ............................. 215
11.1.1正则表达式的定义 ...............216
11.1.2 初步练习正则表达式 .............217
11.2 正则表达式入门 ...................... 218
11.2.1 语法规则 ...............................218
11.2.2 元字符与转义 .......................219
11.2.3 规则 .......................................219
11.3 正则表达式进阶 ...................... 222
11.3.1 基础 .......................................222
11.3.2 扩展 .......................................223
11.3.3 选择 .......................................224
11.4在 Python 中使用正则表达式 ............................. 224
11.4.1直接使用模块函数(re) ............................224
11.4.2 编译正则表达式对象 ...........226
11.4.3 匹配结果对象(match object) ..................226
11.4.4可配置选项(flags) ............227
11.5正则表达式的实际应用案例 ..... 228
11.5.1案例 1:复旦大学的邮箱后缀更新 ................228
11.5.2 案例 2:日志文件中错误信息的提取 ..............229
11.5.3案例 3:从网页代码中提取链接 ..................230
11.5.4案例 4:验证用户输入的格式 ......................230
11.5.5案例 5:批量重命名文件 和整理数据文件 .....231
小结 .................................................. 232
习题 .................................................. 232
第 12 章函数.................................... 233
12.1函数概述 ................................ 233
12.2 参数传递和返回值 .................. 236
12.3 实参和形参............................. 239
12.3.1 函数调用的参数 ...................239
12.3.2 默认值参数 ...........................240
12.3.3可变长度参数 .......................242
12.3.4 仅允许位置和关键字参数传递的形参 .......243
12.3.5 函数调用的序列解包 ...........245
12.3.6 类型提示 ...............................246
12.4 名字空间 ................................ 247
12.5 装饰器 .................................... 252
12.6 lambda 表达式 ....................... 253
12.7 高阶函数 ................................ 254
12.7.1 map()、filter() 和 reduce()函数 ......254
12.7.2 sorted() 函数 ..........................256
12.7.3生成器函数 ...........................260
12.8 递归函数 ................................ 262
小结 .................................................. 265
习题 .................................................. 266
第 13 章异常处理的组成................ 272
13.1 异常的定义............................. 272
13.2 常见异常类............................. 273
13.3 异常处理的组成 ..................... 275
13.4 try 语句的变体 ........................ 278
13.5 引发异常 ................................ 279
13.5.1 引发异常的形式 ...................279
13.5.2引发自定义异常 ...................282
13.5.3 决定何时引发异常 ...............283
13.6 异常处理方式 ......................... 283
13.7断言 ....................................... 285
13.7.1断言的作用 ...........................285
13.7.2禁用断言 ...............................287
13.7.3 使用断言的陷阱 ...................288
小结 .................................................. 288
习题 .................................................. 289
参考文献.............................................. 290