









双向选择:if-else30
2.1.3 多向选择:if-elif-else31
2.1.4if语句的嵌套31
2.1.5 条件表达式33
2.1.6 真假判断34
2.2 循环结构36
2.2.1while语句36
2.2.2for语句38
2.2.3 循环中的else41
2.2.4pass语句42
2.3break和continue42
2.3.1break语句42
2.3.2continue语句44
2.4 试一试:获取月份对应的季节44
2.5 试一试:找出“水仙花数”45
2.6 试一试:求0~100之间所有质数46
2.7 试一试:输出一个图案46
2.8 小结47
第3章列表与元组49
3.1 列表概述50
3.2 创建列表50
3.3 基本操作51
3.3.1 获取元素51
3.3.2 修改元素52
3.3.3 添加元素53
3.3.4 删除元素55
3.4 列表方法57
3.4.1 统计元素的个数:count()57
3.4.2 获取元素下标:index()58
3.4.3 颠倒元素顺序:reverse()59
3.4.4 元素大小排序:sort()59
3.4.5 连接元素:join()60
3.4.6 合并列表:extend()61
3.4.7 清空列表:clear()62
3.5 切片63
3.6 更多实用操作66
3.6.1 获取长度:len()66
3.6.2 遍历列表:for-in67
3.6.3 检索列表:in和notin68
3.6.4 数值计算:max()、min()和sum()68
3.6.5 列表运算69
3.6.6 列表推导式69
3.7 二维列表71
3.8 元组72
3.9 试一试:列表去重75
3.10 试一试:输出月份75
3.11 试一试:求列表中的最大值76
3.12 小结76
第4章字符串78
4.1 多行字符串78
4.2 原始字符串79
4.3 基本操作80
4.4 字符串方法82
4.4.1 统计字符个数:count()82
4.4.2 获取子串的下标:index()82
4.4.3 替换字符串:replace()83
4.4.4 分割字符串:split()84
4.4.5 去除首尾符号:strip()85
4.4.6 大小写转换86
4.4.7 判断字符串87
4.4.8 对齐方式90
4.5 切片91
4.6 更多实用操作94
4.6.1 获取长度:len()94
4.6.2 类型转换:list()和tuple()95
4.6.3 字符串运算97
4.6.4 字符串拼接97
4.7 序列的通用操作100
4.8 试一试:统计单词的个数100
4.9 试一试:将首字母转换成大写101
4.10 小结101
第5章字典与集合102
5.1 字典概述102
5.2 创建字典102
5.3 基本操作103
5.3.1 获取某个键的值103
5.3.2 修改某个键的值104
5.3.3 增加键值对104
5.3.4 删除键值对105
5.4 字典方法105
5.4.1 清空字典:clear()106
5.4.2 复制字典:copy()106
5.4.3 更新字典:update()107
5.4.4 创建新字典:fromkeys()107
5.4.5 设置默认值:setdefault()108
5.4.6 获取所有键:keys()108
5.4.7 获取所有值:values()109
5.4.8 获取所有键值:items()110
5.5 更多实用操作111
5.5.1 获取长度:len()112
5.5.2 检索字典:in、notin112
5.5.3 合并字典113
5.5.4 字典推导式113
5.6 集合概述114
5.6.1 集合简介114
5.6.2 基本操作115
5.6.3 集合操作116
5.6.4 集合推导式117
5.6.5 应用场景118
5.7 试一下:统计数字出现的次数119
5.8 试一试:统计出现次数最多的字母119
5.9 小结120
第6章函数121
6.1 函数简介121
6.2 函数的定义123
6.2.1 没有返回值的函数123
6.2.2 有返回值的函数124
6.2.3 变量作用域125
6.3 函数的调用127
6.3.1 直接调用127
6.3.2 在表达式中调用128
6.4 函数参数128
6.4.1 形参和实参128
6.4.2 参数可以是任何类型129
6.4.3 位置参数129
6.4.4 关键字参数130
6.4.5 参数默认值131
6.5 嵌套函数133
6.6 递归函数134
6.7 内置函数136
6.8 试一试:判断某一年是否闰年138
6.9 试一试:冒泡排序138
6.10 小结139
第7章类与对象141
7.1 面向对象141
7.2 创建对象142
7.3 构造函数:__init__()144
7.4 类属性和实例属性146
7.5 类方法和实例方法148
7.6 静态方法149
7.7 继承150
7.8 试一试:封装一个矩形类152
7.9 试一试:封装一个银行账户类152
7.10 小结153
第8章异常154
8.1 常见异常154
8.2 处理异常156
8.2.1try-except语句157
8.2.2else子句160
8.2.3finally子句160
8.3 错误级别162
8.3.1 低级错误162
8.3.2 中级错误162
8.3.3 高级错误163
8.4 试一试:处理计算异常164
8.5 小结164
第9章模块165
9.1 包与模块165
9.1.1 包是什么165
9.1.2 模块是什么166
9.1.3 自定义包167
9.1.4 自定义模块169
9.1.5 以主程序形式执行171
9.2 数学模块:math172
9.2.1 圆周率:pi174
9.2.2 平方根:sqrt()174
9.2.3 幂运算:pow()175
9.2.4 向上取整:ceil()175
9.2.5 向下取整:floor()176
9.2.6 三角函数177
9.3 随机数模块:random179
9.3.1 随机整数179
9.3.2 随机浮点数181
9.3.3 随机序列182
9.4 时间模块:time和datetime184
9.4.1time模块184
9.4.2datetime模块189
9.5 试一试:生成随机验证码192
9.6 试一试:计算函数执行时间192
9.7 其他标准库模块193
9.8 小结194
第10章文件195
10.1 文件路径195
10.1.1 绝对路径195
10.1.2 相对路径196
10.2 读取文件197
10.2.1 读取所有内容:read()197
10.2.2 逐行读取内容:readlines()199
10.3 写入文件201
10.3.1 以“覆盖”方式写入文件201
10.3.2 以“追加”方式写入文件202
10.4pathlib模块203
10.4.1 基本属性203
10.4.2 重命名204
10.4.3 判断路径206
10.4.4 拼接路径207
10.4.5 创建与删除路径208
10.5os模块210
10.5.1 获取工作目录210
10.5.2 改变工作目录211
10.5.3 列举所有文件211
10.5.4 遍历文件212
10.5.5 获取文件大小214
10.5.6 获取文件时间215
10.6shutil模块217
10.6.1 复制文件217
10.6.2 移动文件219
10.6.3 删除文件夹221
10.7send2trash模块221
10.8zipfile模块222
10.8.1 读取文件223
10.8.2 解压文件224
10.8.3 压缩文件224
10.9 异常处理227
10.9.1try-except-finally语句227
10.9.2with语句228
10.10 试一试:删除某一类型文件229
10.11 试一试:批量修改文件名230
10.12 小结232
第11章正则表达式233
11.1 正则表达式的使用234
11.2 元字符235
11.3 连接符236
11.4 限定符237
11.5 定位符238
11.6 分组符239
11.7 选择符242
11.8 转义字符243
11.9 不区分大小写的匹配243
11.10 贪心与非贪心244
11.11sub()245
11.12match()和search()246
11.13 试一试:匹配手机号码248
11.14 试一试:匹配日期248
11.15 试一试:匹配身份证号码249
11.16 试一试:匹配E-mail地址249
11.17 小结250
第12章可迭代对象、迭代器与生成器252
12.1 两种循环252
12.2 可迭代对象253
12.3 迭代器255
12.4 生成器257
12.4.1 基本语法257
12.4.2 元组生成器258
12.5 内置函数259
12.5.1enumerate()函数259
12.5.2reversed()函数260
12.5.3sorted()函数262
12.6 小结266
第13章解包与压包267
13.1 解包267
13.1.1 解包概述268
13.1.2*和**270
13.1.3 元组解包276
13.1.4 函数形参:*args和**kwargs277
13.2 压包278
13.3 小结280
第14章函数式编程281
14.1 高阶函数281
14.1.1filter()282
14.1.2map()283
14.1.3reduce()284
14.2lambda表达式286
14.2.1 用于简化函数286
14.2.2 用于回调函数288
14.2.3 用于列表推导式289
14.3 装饰器290
14.4 小结292
第2部分 项目开发
第15章图像处理294
15.1 必备基础294
15.1.1 颜色值294
15.1.2 像素296
15.1.3 坐标系296
15.1.4 图片格式296
15.2 图片操作298
15.2.1 创建区域:Image.new()300
15.2.2 改变大小:resize()301
15.2.3 切割图片:crop()302
15.2.4 旋转图片:rotate()303
15.2.5 翻转图片:transpose()304
15.2.6 复制粘贴:copy()、paste()305
15.3 绘制图形307
15.3.1 点307
15.3.2 直线308
15.3.3 矩形309
15.3.4 多边形311
15.3.5 弧线312
15.3.6 圆、椭圆或扇形315
15.4 绘制文本318
15.4.1 基本语法318
15.4.2 设置字体319
15.5 图片美化321
15.6 项目:批量处理图片323
第16章自动化办公328
16.1 操作CSV文件328
16.1.1 读取CSV文件329
16.1.2 写入CSV文件331
16.2 操作Excel文件333
16.3 操作PPT文件337
16.3.1 创建PPT文件337
16.3.2 往占位符插入元素339
16.3.3 往幻灯片中插入元素342
16.3.4PPT母版345
16.4 项目:自动生成PPT文件348
第17章网络爬虫352
17.1 网页基础352
17.1.1HTML简介352
17.1.2CSS简介353
17.1.3JavaScript简介355
17.2 请求网页:Requests库356
17.2.1HTTP请求356
17.2.2 添加请求头359
17.3 提取数据:BeautifulSoup库361
17.3.1prettify()方法362
17.3.2select()方法363
17.4 提取数据:Lxml库366
17.5 项目:爬取“豆瓣电影Top250”369
第18章数据分析375
18.1 数据分析学些什么375
18.2Pandas概述375
18.3DataFrame376
18.3.1 创建DataFrame376
18.3.2 访问数据379
18.4 读写文件380
18.4.1 读写CSV380
18.4.2 读写Excel文件383
18.5 布尔选择386
18.6 字符串处理388
18.7 统计函数390
18.8 数据分组392
18.8.1groupby()函数392
18.8.2 统计分析395
18.9 数据清洗395
18.9.1 重复值396
18.9.2 缺失值399
18.9.3 异常值403
18.10 项目:对企鹅数据进行分析405
第19章数据可视化411
19.1Matplotlib概述411
19.2 绘制折线图412
19.3 通用设置414
19.3.1 主题风格414
19.3.2 定义标题416
19.3.3 定义图例418
19.3.4 刻度标签420
19.3.5 刻度范围423
19.4 散点图424
19.5 柱形图427
19.6 箱线图429
19.7 其他绘图函数432
19.8 项目:餐厅营业的可视化433
第20章数据库操作437
20.1 操作SQLite437
20.1.1 创建数据库437
20.1.2 增删查改439
20.2 操作MySQL443
20.2.1 使用NavicatforMySQL443
20.2.2 操作数据库451
20.3 操作MongoDB453
20.3.1 启动MongoDB服务453
20.3.2 操作数据库454
20.3.3 增删查改455
20.4 项目:操作员工信息表460
第21章邮件发送465
21.1 开发准备465
21.2 发送纯文本格式的邮件466
21.3 发送HTML格式的邮件470
21.4 发送带附件的邮件472
21.4.1 附件为“纯文本类型”472
21.4.2 附件为“二进制类型”474
21.5 项目:给会员发送邮件476
第22章GUI编程484
22.1tkinter概述484
22.2 标签(Label)485
22.2.1 基本语法485
22.2.2 使用内置图片489
22.3 普通按钮(Button)490
22.4 通用设置492
22.4.1 样式定义493
22.4.2 布局位置496
22.5 复选按钮(Checkbutton)504
22.6 单选按钮(Radiobutton)508
22.7 分组框(LabelFrame)510
22.8 文本框(Entry)511
22.9 菜单(Menu)514
22.10 消息文本(Message)516
22.11 提示框518
22.12 项目:简易计算器520
第23章鼠标键盘自动化525
23.1 必备基础525
23.1.1 屏幕坐标525
23.1.2 鼠标与键盘526
23.2 控制鼠标526
23.2.1 移动鼠标527
23.2.2 单击鼠标528
23.2.3 拖拽鼠标530
23.2.4 滚动鼠标531
23.3 键盘操作531
23.3.1 输入文本532
23.3.2 敲击按键533
23.3.3 使用组合键535
23.3.4 输入中文535
23.4 其他功能536
23.4.1 屏幕截图536
23.4.2 提示框536
23.4.3 图片定位539
23.5 项目:微信批量发送消息540
第24章程序打包544
24.1PyInstaller概述544
24.2PyInstaller的用法544
24.3 高级打包546
24.4 自定义图标547
24.5 去掉命令行窗口548
24.6 项目:将简易计算器程序打包548
编程语言与程序设计
Python编程 从入门到实践 第3版(图灵出品)
编程语言与程序设计
Hello算法(图灵出品)
编程语言与程序设计
C++ Primer Plus 第6版 中文版(异步图书出品)
编程语言与程序设计
C++ Primer(中文版 第5版)(博文视点出品)
编程语言与程序设计
高效C/C++调试