注重体验与质量的电子书资源下载网站
分类于: 互联网 编程语言
简介
零基础入门学习Python: (第2版) 豆 7.6分
资源最后更新于 2020-08-23 08:24:17
作者:小甲鱼
出版社:清华大学出版社
出版日期:2019-01
ISBN:9787302514084
文件格式: pdf
标签: Python 编程 编程语言 计算机 计算机科学 机器学习 统计学 统计
简介· · · · · ·
本书提倡理解为主,应用为王。因此,只要有可能,小甲鱼(注:作者)都会通过生动的实例来让大家理解概念。
虽然这是一本入门书籍,但本书的“野心”并不止于“初级水平”的教学。本书前半部分首先讲解基础的Python 3语法知识,包括列表、元组、字符串、字典以及各种语句;之后循序渐进地介绍一些相对高级的主题,包括抽象、异常、魔法方法以及属性迭代器。后半部分则围绕着Python 3在爬虫、界面开发和游戏开发上的应用,通过实例引导读者进行深入学习和探究,既富有乐趣,又锻炼了读者的动手能力。
本书适合学习Python 3的入门读者,也适合对编程一无所知,但渴望用编程改变世界的朋友们。
目录
第1章 就这么愉快地开始吧 1
视频讲解:13分钟(1个)钟
1.1 获得Python 1
1.2 从IDLE启动Python 2
1.3 失败的尝试 3
1.4 尝试点儿新的东西 3
1.5 为什么会这样 4
第2章 用Python设计第一个游戏 5
视频讲解:24分钟(1个)钟
2.1 第一个小游戏 5
2.2 缩进 6
2.3 BIF 7
第3章 成为高手前必须知道的一些基础知识 9
视频讲解:82分钟(4个)钟
3.1 变量 9
3.2 字符串 10
3.3 原始字符串 11
3.4 长字符串 12
3.5 改进我们的小游戏 13
3.6 条件分支 14
3.7 初识循环 15
3.8 引入外援 16
3.9 闲聊数据类型 17
3.9.1 整型 18
3.9.2 浮点型 18
3.9.3 布尔类型 19
3.9.4 类型转换 19
3.9.5 获得关于类型的信息 20
3.10 常用操作符 21
3.10.1 算术操作符 21
3.10.2 优先级问题 22
3.10.3 比较操作符 23
3.10.4 逻辑操作符 23
第4章 了不起的分支和循环 25
视频讲解:42分钟(3个)钟
4.1 分支和循环 25
4.2 快速上手 27
4.3 避免“悬挂else”问题 28
4.4 条件表达式(三元操作符) 29
4.5 断言 31
4.6 while循环语句 31
4.7 for循环语句 32
4.8 break语句 34
4.9 continue语句 35
4.10 else语句 35
第5章 列表、元组和字符串 37
视频讲解:137分钟(7个)钟
5.1 列表:一个“打了激素”的数组 37
5.1.1 创建列表 37
5.1.2 向列表添加元素 38
5.1.3 从列表中获取元素 39
5.1.4 从列表删除元素 40
5.1.5 列表切片 42
5.1.6 进阶玩法 43
5.1.7 一些常用操作符 44
5.1.8 列表的小伙伴们 46
5.2 元组:戴上了“枷锁”的列表 47
5.2.1 创建和访问一个元组 47
5.2.2 更新和删除元组 49
5.3 字符串 50
5.3.1 各种内置方法 51
5.3.2 格式化 54
5.4 序列 57
第6章 函数 62
视频讲解:140分钟(8个)钟
6.1 Python的乐高积木 62
6.1.1 创建和调用函数 62
6.1.2 函数的参数 63
6.1.3 函数的返回值 64
6.2 灵活即强大 65
6.2.1 形参和实参 65
6.2.2 函数文档 66
6.2.3 关键字参数 67
6.2.4 默认参数 67
6.2.5 收集参数 68
6.3 我的地盘听我的 70
6.3.1 局部变量 70
6.3.2 全局变量 71
6.3.3 global关键字 73
6.3.4 内嵌函数 73
6.3.5 LEGB原则 74
6.3.6 闭包 75
6.3.7 装饰器 78
6.4 函数式编程 80
6.4.1 lambda 80
6.4.2 filter() 81
6.4.3 map() 82
6.5 递归 83
6.5.1 递归是什么 83
6.5.2 写一个求阶乘的函数 85
6.5.3 一帮小兔子——斐波那契数列 87
6.5.4 汉诺塔 89
第7章 字典和集合 92
视频讲解:46分钟(3个)钟
7.1 字典:当索引不好用时 92
7.1.1 创建和访问字典 93
7.1.2 各种内置方法 95
7.2 集合:在我的世界里,你就是唯一 99
7.2.1 创建集合 100
7.2.2 访问集合 101
7.2.3 不可变集合 101
第8章 永久存储 103
视频讲解:68分钟(4个)钟
8.1 文件:因为懂你,所以永恒 103
8.1.1 打开文件 103
8.1.2 文件对象的方法 104
8.1.3 文件的关闭 105
8.1.4 文件的读取和定位 105
8.1.5 文件的写入 106
8.1.6 一个任务 107
8.2 文件系统:介绍一个高大上的东西 109
8.3 pickle:腌制一缸美味的泡菜 115
第9章 异常处理 117
视频讲解:38分钟(3个)钟
9.1 你不可能总是对的 117
9.2 try-except语句 120
9.3 try-finally语句 122
9.4 raise语句 122
9.5 丰富的else语句 123
9.6 简洁的with语句 124
第10章 图形用户界面入门 126
视频讲解:14分钟(1个)钟
10.1 安装EasyGui 126
10.1.1 导入EasyGui 127
10.1.2 快速入门 127
10.1.3 各种功能演示 129
10.2 默认参数和关键字参数 130
10.3 使用按钮组件 131
10.4 如何在buttonbox里边显示图片 132
10.5 为用户提供一系列选项 133
10.6 让用户输入消息 134
10.7 让用户输入密码 137
10.8 显示文本 138
10.9 目录与文件 139
10.10 捕获异常 140
10.11 记住用户的设置 141
第11章 类和对象 143
视频讲解:78分钟(5个)钟
11.1 给大家介绍对象 143
11.2 对象=属性 方法 143
11.3 面向对象编程 145
11.3.1 self是什么 145
11.3.2 听说过Python的魔法方法吗 146
11.3.3 公有和私有 146
11.4 继承 148
11.4.1 调用未绑定的父类方法 150
11.4.2 使用super函数 151
11.5 多重继承 151
11.6 组合 152
11.7 类、类对象和实例对象 153
11.8 到底什么是绑定 154
11.9 一些相关的BIF 156
第12章 魔法方法 160
视频讲解:140分钟(9个)钟
12.1 构造和析构 160
12.1.1 _?_init_?_(self[, ...]) 160
12.1.2 _?_new_?_(cls[, ...]) 161
12.1.3 _?_del_?_(self) 162
12.2 算术运算 163
12.2.1 常见的算术运算 163
12.2.2 反运算 166
12.2.3 一元操作符 167
12.3 简单定制 167
12.4 属性访问 173
12.5 描述符(property的原理) 177
12.6 定制序列 180
12.7 迭代器 182
12.8 生成器 185
12.9 生成器表达式 187
第13章 模块 190
视频讲解:36分钟(3个)钟
13.1 模块就是程序 190
13.2 命名空间 191
13.3 导入模块 191
13.4 _?_name_?_='_?_main_?_' 192
13.5 搜索路径 194
13.6 包 195
13.7 像个极客一样去思考 196
第14章 论一只爬虫的自我修养 202
视频讲解:76分钟(4个)钟
14.1 入门 202
14.2 什么是编码 205
14.3 下载一只猫 205
14.4 更好的选择 207
14.4.1 没有对比就没有伤害 207
14.4.2 安装Requests 208
14.4.3 安装BeautifulSoup4 208
14.5 爬取豆瓣Top250电影排行榜 209
14.6 爬取网易云音乐的热门评论 213
第15章 正则表达式 221
视频讲解:55分钟(3个)钟
15.1 re模块 221
15.2 通配符 221
15.3 反斜杠 222
15.4 字符类 223
15.5 重复匹配 223
15.6 特殊符号及用法 225
15.7 元字符 227
15.8 贪婪和非贪婪 229
15.9 反斜杠 普通字母=特殊含义 230
15.10 编译正则表达式 231
15.11 实用的方法 233
第16章 Scrapy爬虫框架 238
视频讲解:56分钟(2个)钟
16.1 环境搭建 238
16.1.1 安装Miniconda 238
16.1.2 安装Scrapy 241
16.2 Scrapy框架架构 241
16.3 创建一个Scrapy项目 243
16.4 编写爬虫 244
16.5 爬 245
16.6 取 246
16.6.1 在Shell中尝试Selector选择器 246
16.6.2 使用XPath选择器 247
16.6.3 使用CSS选择器 248
16.6.4 提取数据 249
16.6.5 在爬虫中提取数据 250
16.7 存储内容 251
16.8 跟进链接 252
第17章 GUI的最终选择:Tkinter 254
视频讲解:295分钟(14个)钟
17.1 Tkinter之初体验 254
17.2 进阶版本 255
17.3 Label组件 258
17.4 Button组件 260
17.5 Checkbutton组件 261
17.6 Radiobutton组件 262
17.7 LabelFrame组件 264
17.8 Entry组件 265
17.9 Listbox组件 272
17.10 Scrollbar组件 275
17.11 Scale组件 276
17.12 Text组件 278
17.12.1 Indexes用法 280
17.12.2 Mark用法 283
17.12.3 Tag用法 285
17.13 Canvas组件 292
17.14 Menu组件 298
17.15 Menubutton组件 302
17.16 OptionMenu组件 303
17.17 Message组件 305
17.18 Spinbox组件 306
17.19 PanedWindow组件 306
17.20 Toplevel组件 309
17.21 事件绑定 311
17.22 事件序列 312
17.22.1 type 313
17.22.2 modifier 314
17.23 Event对象 314
17.24 布局管理器 316
17.24.1 pack 316
17.24.2 grid 318
17.24.3 place 319
17.25 标准对话框 321
17.25.1 messagebox 321
17.25.2 fieldialog 323
17.25.3 colorchooser 324
第18章 Pygame:游戏开发 326
视频讲解:460分钟(19个)钟
18.1 安装Pygame 326
18.2 初步尝试 327
18.3 解惑 330
18.3.1 什么是Surface对象 330
18.3.2 将一个图像绘制到另一个图像上是怎么回事 330
18.3.3 移动图像是怎么回事 330
18.3.4 如何控制游戏的速度 331
18.3.5 Pygame的效率高不高 332
18.3.6 应该从哪里获得帮助 332
18.4 事件 332
18.5 提高游戏的颜值 336
18.5.1 显示模式 336
18.5.2 全屏才是王道 337
18.5.3 使窗口尺寸可变 338
18.5.4 图像的变换 338
18.5.5 裁剪图像 341
18.5.6 转换图片 346
18.5.7 透明度分析 346
18.6 绘制基本图形 351
18.6.1 绘制矩形 351
18.6.2 绘制多边形 352
18.6.3 绘制圆形 353
18.6.4 绘制椭圆形 354
18.6.5 绘制弧线 355
18.6.6 绘制线段 356
18.7 动画精灵 356
18.7.1 创建精灵 358
18.7.2 移动精灵 360
18.8 碰撞检测 361
18.8.1 尝试自己写碰撞检测函数 362
18.8.2 sprite模块提供的碰撞检测函数 365
18.8.3 实现完美碰撞检测 367
18.9 播放声音和音效 367
18.10 响应鼠标 371
18.10.1 设置鼠标的位置 371
18.10.2 自定义鼠标光标 372
18.10.3 让小球响应光标的移动频率 374
18.11 响应键盘 376
18.12 结束游戏 377
18.12.1 发生碰撞后获得随机速度 377
18.12.2 减少“抖动”现象的发生 378
18.12.3 游戏胜利 381
18.12.4 更好地结束游戏 382
18.13 经典飞机大战 389
18.13.1 游戏设定 389
18.13.2 主模块 390
18.13.3 我方飞机 392
18.13.4 响应键盘 393
18.13.5 飞行效果 394
18.13.6 敌方飞机 395
18.13.7 提升敌机速度 396
18.13.8 碰撞检测 398
18.13.9 完美碰撞检测 401
18.13.10 一个BUG 402
18.13.11 发射子弹 403
18.13.12 设置敌机“血槽” 405
18.13.13 中弹效果 406
18.13.14 绘制得分 407
18.13.15 暂停游戏 408
18.13.16 控制难度 409
18.13.17 全屏炸弹 411
18.13.18 发放补给包 412
18.13.19 超级子弹 415
18.13.20 三次机会 417
18.13.21 结束画面 420
视频讲解:13分钟(1个)钟
1.1 获得Python 1
1.2 从IDLE启动Python 2
1.3 失败的尝试 3
1.4 尝试点儿新的东西 3
1.5 为什么会这样 4
第2章 用Python设计第一个游戏 5
视频讲解:24分钟(1个)钟
2.1 第一个小游戏 5
2.2 缩进 6
2.3 BIF 7
第3章 成为高手前必须知道的一些基础知识 9
视频讲解:82分钟(4个)钟
3.1 变量 9
3.2 字符串 10
3.3 原始字符串 11
3.4 长字符串 12
3.5 改进我们的小游戏 13
3.6 条件分支 14
3.7 初识循环 15
3.8 引入外援 16
3.9 闲聊数据类型 17
3.9.1 整型 18
3.9.2 浮点型 18
3.9.3 布尔类型 19
3.9.4 类型转换 19
3.9.5 获得关于类型的信息 20
3.10 常用操作符 21
3.10.1 算术操作符 21
3.10.2 优先级问题 22
3.10.3 比较操作符 23
3.10.4 逻辑操作符 23
第4章 了不起的分支和循环 25
视频讲解:42分钟(3个)钟
4.1 分支和循环 25
4.2 快速上手 27
4.3 避免“悬挂else”问题 28
4.4 条件表达式(三元操作符) 29
4.5 断言 31
4.6 while循环语句 31
4.7 for循环语句 32
4.8 break语句 34
4.9 continue语句 35
4.10 else语句 35
第5章 列表、元组和字符串 37
视频讲解:137分钟(7个)钟
5.1 列表:一个“打了激素”的数组 37
5.1.1 创建列表 37
5.1.2 向列表添加元素 38
5.1.3 从列表中获取元素 39
5.1.4 从列表删除元素 40
5.1.5 列表切片 42
5.1.6 进阶玩法 43
5.1.7 一些常用操作符 44
5.1.8 列表的小伙伴们 46
5.2 元组:戴上了“枷锁”的列表 47
5.2.1 创建和访问一个元组 47
5.2.2 更新和删除元组 49
5.3 字符串 50
5.3.1 各种内置方法 51
5.3.2 格式化 54
5.4 序列 57
第6章 函数 62
视频讲解:140分钟(8个)钟
6.1 Python的乐高积木 62
6.1.1 创建和调用函数 62
6.1.2 函数的参数 63
6.1.3 函数的返回值 64
6.2 灵活即强大 65
6.2.1 形参和实参 65
6.2.2 函数文档 66
6.2.3 关键字参数 67
6.2.4 默认参数 67
6.2.5 收集参数 68
6.3 我的地盘听我的 70
6.3.1 局部变量 70
6.3.2 全局变量 71
6.3.3 global关键字 73
6.3.4 内嵌函数 73
6.3.5 LEGB原则 74
6.3.6 闭包 75
6.3.7 装饰器 78
6.4 函数式编程 80
6.4.1 lambda 80
6.4.2 filter() 81
6.4.3 map() 82
6.5 递归 83
6.5.1 递归是什么 83
6.5.2 写一个求阶乘的函数 85
6.5.3 一帮小兔子——斐波那契数列 87
6.5.4 汉诺塔 89
第7章 字典和集合 92
视频讲解:46分钟(3个)钟
7.1 字典:当索引不好用时 92
7.1.1 创建和访问字典 93
7.1.2 各种内置方法 95
7.2 集合:在我的世界里,你就是唯一 99
7.2.1 创建集合 100
7.2.2 访问集合 101
7.2.3 不可变集合 101
第8章 永久存储 103
视频讲解:68分钟(4个)钟
8.1 文件:因为懂你,所以永恒 103
8.1.1 打开文件 103
8.1.2 文件对象的方法 104
8.1.3 文件的关闭 105
8.1.4 文件的读取和定位 105
8.1.5 文件的写入 106
8.1.6 一个任务 107
8.2 文件系统:介绍一个高大上的东西 109
8.3 pickle:腌制一缸美味的泡菜 115
第9章 异常处理 117
视频讲解:38分钟(3个)钟
9.1 你不可能总是对的 117
9.2 try-except语句 120
9.3 try-finally语句 122
9.4 raise语句 122
9.5 丰富的else语句 123
9.6 简洁的with语句 124
第10章 图形用户界面入门 126
视频讲解:14分钟(1个)钟
10.1 安装EasyGui 126
10.1.1 导入EasyGui 127
10.1.2 快速入门 127
10.1.3 各种功能演示 129
10.2 默认参数和关键字参数 130
10.3 使用按钮组件 131
10.4 如何在buttonbox里边显示图片 132
10.5 为用户提供一系列选项 133
10.6 让用户输入消息 134
10.7 让用户输入密码 137
10.8 显示文本 138
10.9 目录与文件 139
10.10 捕获异常 140
10.11 记住用户的设置 141
第11章 类和对象 143
视频讲解:78分钟(5个)钟
11.1 给大家介绍对象 143
11.2 对象=属性 方法 143
11.3 面向对象编程 145
11.3.1 self是什么 145
11.3.2 听说过Python的魔法方法吗 146
11.3.3 公有和私有 146
11.4 继承 148
11.4.1 调用未绑定的父类方法 150
11.4.2 使用super函数 151
11.5 多重继承 151
11.6 组合 152
11.7 类、类对象和实例对象 153
11.8 到底什么是绑定 154
11.9 一些相关的BIF 156
第12章 魔法方法 160
视频讲解:140分钟(9个)钟
12.1 构造和析构 160
12.1.1 _?_init_?_(self[, ...]) 160
12.1.2 _?_new_?_(cls[, ...]) 161
12.1.3 _?_del_?_(self) 162
12.2 算术运算 163
12.2.1 常见的算术运算 163
12.2.2 反运算 166
12.2.3 一元操作符 167
12.3 简单定制 167
12.4 属性访问 173
12.5 描述符(property的原理) 177
12.6 定制序列 180
12.7 迭代器 182
12.8 生成器 185
12.9 生成器表达式 187
第13章 模块 190
视频讲解:36分钟(3个)钟
13.1 模块就是程序 190
13.2 命名空间 191
13.3 导入模块 191
13.4 _?_name_?_='_?_main_?_' 192
13.5 搜索路径 194
13.6 包 195
13.7 像个极客一样去思考 196
第14章 论一只爬虫的自我修养 202
视频讲解:76分钟(4个)钟
14.1 入门 202
14.2 什么是编码 205
14.3 下载一只猫 205
14.4 更好的选择 207
14.4.1 没有对比就没有伤害 207
14.4.2 安装Requests 208
14.4.3 安装BeautifulSoup4 208
14.5 爬取豆瓣Top250电影排行榜 209
14.6 爬取网易云音乐的热门评论 213
第15章 正则表达式 221
视频讲解:55分钟(3个)钟
15.1 re模块 221
15.2 通配符 221
15.3 反斜杠 222
15.4 字符类 223
15.5 重复匹配 223
15.6 特殊符号及用法 225
15.7 元字符 227
15.8 贪婪和非贪婪 229
15.9 反斜杠 普通字母=特殊含义 230
15.10 编译正则表达式 231
15.11 实用的方法 233
第16章 Scrapy爬虫框架 238
视频讲解:56分钟(2个)钟
16.1 环境搭建 238
16.1.1 安装Miniconda 238
16.1.2 安装Scrapy 241
16.2 Scrapy框架架构 241
16.3 创建一个Scrapy项目 243
16.4 编写爬虫 244
16.5 爬 245
16.6 取 246
16.6.1 在Shell中尝试Selector选择器 246
16.6.2 使用XPath选择器 247
16.6.3 使用CSS选择器 248
16.6.4 提取数据 249
16.6.5 在爬虫中提取数据 250
16.7 存储内容 251
16.8 跟进链接 252
第17章 GUI的最终选择:Tkinter 254
视频讲解:295分钟(14个)钟
17.1 Tkinter之初体验 254
17.2 进阶版本 255
17.3 Label组件 258
17.4 Button组件 260
17.5 Checkbutton组件 261
17.6 Radiobutton组件 262
17.7 LabelFrame组件 264
17.8 Entry组件 265
17.9 Listbox组件 272
17.10 Scrollbar组件 275
17.11 Scale组件 276
17.12 Text组件 278
17.12.1 Indexes用法 280
17.12.2 Mark用法 283
17.12.3 Tag用法 285
17.13 Canvas组件 292
17.14 Menu组件 298
17.15 Menubutton组件 302
17.16 OptionMenu组件 303
17.17 Message组件 305
17.18 Spinbox组件 306
17.19 PanedWindow组件 306
17.20 Toplevel组件 309
17.21 事件绑定 311
17.22 事件序列 312
17.22.1 type 313
17.22.2 modifier 314
17.23 Event对象 314
17.24 布局管理器 316
17.24.1 pack 316
17.24.2 grid 318
17.24.3 place 319
17.25 标准对话框 321
17.25.1 messagebox 321
17.25.2 fieldialog 323
17.25.3 colorchooser 324
第18章 Pygame:游戏开发 326
视频讲解:460分钟(19个)钟
18.1 安装Pygame 326
18.2 初步尝试 327
18.3 解惑 330
18.3.1 什么是Surface对象 330
18.3.2 将一个图像绘制到另一个图像上是怎么回事 330
18.3.3 移动图像是怎么回事 330
18.3.4 如何控制游戏的速度 331
18.3.5 Pygame的效率高不高 332
18.3.6 应该从哪里获得帮助 332
18.4 事件 332
18.5 提高游戏的颜值 336
18.5.1 显示模式 336
18.5.2 全屏才是王道 337
18.5.3 使窗口尺寸可变 338
18.5.4 图像的变换 338
18.5.5 裁剪图像 341
18.5.6 转换图片 346
18.5.7 透明度分析 346
18.6 绘制基本图形 351
18.6.1 绘制矩形 351
18.6.2 绘制多边形 352
18.6.3 绘制圆形 353
18.6.4 绘制椭圆形 354
18.6.5 绘制弧线 355
18.6.6 绘制线段 356
18.7 动画精灵 356
18.7.1 创建精灵 358
18.7.2 移动精灵 360
18.8 碰撞检测 361
18.8.1 尝试自己写碰撞检测函数 362
18.8.2 sprite模块提供的碰撞检测函数 365
18.8.3 实现完美碰撞检测 367
18.9 播放声音和音效 367
18.10 响应鼠标 371
18.10.1 设置鼠标的位置 371
18.10.2 自定义鼠标光标 372
18.10.3 让小球响应光标的移动频率 374
18.11 响应键盘 376
18.12 结束游戏 377
18.12.1 发生碰撞后获得随机速度 377
18.12.2 减少“抖动”现象的发生 378
18.12.3 游戏胜利 381
18.12.4 更好地结束游戏 382
18.13 经典飞机大战 389
18.13.1 游戏设定 389
18.13.2 主模块 390
18.13.3 我方飞机 392
18.13.4 响应键盘 393
18.13.5 飞行效果 394
18.13.6 敌方飞机 395
18.13.7 提升敌机速度 396
18.13.8 碰撞检测 398
18.13.9 完美碰撞检测 401
18.13.10 一个BUG 402
18.13.11 发射子弹 403
18.13.12 设置敌机“血槽” 405
18.13.13 中弹效果 406
18.13.14 绘制得分 407
18.13.15 暂停游戏 408
18.13.16 控制难度 409
18.13.17 全屏炸弹 411
18.13.18 发放补给包 412
18.13.19 超级子弹 415
18.13.20 三次机会 417
18.13.21 结束画面 420