21天学通Python(第2版)
  • 推荐3
  • 收藏16
  • 浏览7.0K

21天学通Python(第2版)

张启玉 , 刘刚 (作者) 

  • 丛  书:21天学编程系列
  • 书  号:978-7-121-33349-1
  • 出版日期:2018-03-06
  • 页  数:344
  • 开  本:16(185*260)
  • 出版状态:上市销售
  • 维护人:n-y
纸质版 ¥59.80
本书全面、系统、深入地讲解了Python编程基础语法与高级应用。在讲解过程中,通过大量实际操作的实例将Python语言知识全面、系统、深入地呈现给读者。此外,作者专门为本书录制了大量的配套教学视频,让读者通过分析实例、运行实例尽快熟悉Python编程,在学习中遇到问题时,也可以作为参考。
本书共分3篇。第1篇介绍Python语言的特点、安装、语法基础、程序流程控制、面向过程的编程方法、面向对象的编程方法、程序异常的处理;第2篇介绍了Python语言中的包与模块、迭代器、生成器、装饰器、上下文管理器等进阶语法,同时介绍了使用Python标准库中的文件系统处理、图形化界面编程、正则表达式、网络编程、多进(线)程编程、数据库编程。此外,还介绍了运用第三方库的Web网站编程、图片处理;第3篇通过两个案例介绍Python的综合编程技术。
本书内容涉及面广,从基本操作到高级技术及综合案例,涉及Python 语言的基础语法和编程特性,而且实例实用、丰富,尤其适合广大编程初学者自学,也适合对Python 语言感兴趣的爱好者作为参考用书。
极具影响力原创计算机编程图书,丛书畅销10年!程序员案头手册,只需21天轻松学通编程技能!
“21 天学编程系列”自2009 年1 月上市以来一直受到广大读者的青睐。该系列中的大部分图书从一上市就登上了编程类图书销售排行榜的前列,很多大、中专院校也将该系列中的一些图书作为教材使用,目前这些图书已经多次印刷、改版。可以说,“21 天学编程系列”是自2009 年以来,国内原创计算机编程图书最有影响力的品牌之一。
本书有何特色
1.细致体贴的讲解
为了让读者更快地上手,本书特别设计了适合初学者的学习方式,用准确的语言总结概念、用直观的图示演示过程、用详细的注释解释代码、用形象的比方帮助记忆。效果如下图所示。
(1)知识点介绍 准确、清晰是其显著特点,一般放在每一节开始的位置,让零基础的读者了解相关概念,顺利入门。
(2)实例 书中出现的完整实例,以章节顺序编号,便于检索和循序渐进地学习、实践,放在每节知识点介绍之后。
(3)示例代码 与实例编号对应,层次清楚、语句简洁、注释丰富,体现了代码优美的原则,有利于读者养成良好的代码编写习惯。对于大段程序,均在每行代码前设定编号,便于学习。
(4)运行结果 对实例给出运行结果和对应图示,帮助读者更直观地理解示例代码。
(5)代码解析 将实例代码中的关键代码行逐一解释,有助于读者掌握相关概念和知识。
(6)贴心的提示 为了便于读者阅读,全书还穿插着一些技巧、提示等小贴士,体例约定
如下。
? 提示:通常是一些贴心的提醒,让读者加深印象,提供建议或者解决问题的方法。
? 注意:提出学习过程中需要特别注意的一些知识点和内容,或者相关信息。
? 警告:对操作不当或理解偏差将会造成的灾难性后果给出警示,以加深读者印象。
(7)习题 每章最后提供专门的测试习题,供读者检验所学知识是否牢固掌握。
(8)微课 使用手机App(例如微信)扫描二维码,可在线观看配套教学微课。
在本书中,所有的内容是基于Python 3.x 实现的。
2.实用超值的配套资源
为了帮助读者比较直观地学习,本书提供超值配套资源,内容包括多媒体视频、电子教案(PPT)和实例源代码等。
使用浏览器访问本书页面(http://www.broadview.com.cn/33349),可在“下载资源”处查看和下载本书配套资源文件。
多媒体视频
本书配有长达10 小时的教学视频,讲解关键知识点界面操作和书中的一些综合练习题。作者亲自配音、演示,手把手教会读者使用。
电子教案(PPT)
本书可以作为高校相关课程的教材或课外辅导书,所以作者特别为本书制作了电子教案(PPT),以方便老师教学使用。
源代码
本书附赠实例“源代码”。
3.提供完善的技术支持
本书的技术支持论坛为http://www.rzchina.net,读者可以在上面提问交流。另外,论坛上还有一些小的教程、视频动画和各种技术文章,可帮助读者提高开发水平。
推荐的学习计划
本书作者在长期从事相关培训或教学实践过程中,归纳了最适合初学者的学习模式,并参考了多位专家的意见,为读者总结了合理的学习时间分配方式
本书适合哪些读者阅读
本书非常适合以下人员阅读:
? 希望学习和使用Python 语言的新手;
? 迫切希望全面且深入地学习Python 语言的程序人员;
? 具备一定编程经验的程序员;
? 希望了解和使用Python 语言,并以它作为第二语言的编程人员。
本书作者
本书主要由刘凌霞、郝宁波、吴海涛编写,参与编写工作的还有:张昆、张友、赵桂芹、张金霞、张增强、刘桂珍、陈冠军、魏春、张燕、孟春燕、顼宇峰、李杨坡。由于水平有限,书中难免存在疏漏和不足之处,恳请广大读者和专家批评、指正。

目录

第1 篇 Python 编程基础
第1 章 编程与Python 1
1.1 什么是编程 1
1.1.1 硬件与软件 1
1.1.2 编程语言 2
1.1.3 编程与调试 3
1.2 选择Python 的理由 4
1.2.1 Python 是免费的自由软件 4
1.2.2 Python 是跨平台的 4
1.2.3 Python 功能强大 4
1.2.4 Python 清晰优雅 5
1.3 安装Python 5
1.3.1 在Windows 下安装Python 6
1.3.2 在Linux 下安装Python 7
1.4 选择开发工具 9
1.4.1 Python 自带开发工具:IDLE 9
1.4.2 文本编辑器:Emacs 10
1.4.3 Python 开发工具:PythonWin 12
1.5 编辑和运行Python 程序 15
1.5.1 你好,Python 15
1.5.2 运行程序文件 15
1.5.3 交互式运行Python 16
1.6 小结 17
1.7 本章习题 17
第2 章 Python 起步 18
2.1 Python 语法基础 18
2.1.1 缩进分层 18
2.1.2 代码注释 19
2.1.3 断行 19
2.2 Python 输入/输出 20
2.2.1 接收键盘/输入 20
2.2.2 显示处理结果 21
2.3 用Python 计算 21
2.3.1 算式与代数式运算 22
2.3.2 惊奇 23
2.4 小结 24
2.5 本章习题 24
第3 章 Python 数据类型 26
3.1 Python 简单数据类型 26
3.1.1 字符串(str) 26
3.1.2 整数(int) 29
3.1.3 浮点数(float) 30
3.1.4 类型转换 30
3.2 字符串进阶 31
3.2.1 原始字符串 31
3.2.2 格式化字符串 32
3.2.3 中文字符串处理 32
3.3 标志符与赋值号 33
3.3.1 标志符 33
3.3.2 赋值号“=” 33
3.4 Python 结构数据类型 34
3.4.1 列表(list) 34
3.4.2 元组(tuple) 36
3.4.3 字典(dict) 36
3.5 内置常量与逻辑运算符、比较运算符 38
3.5.1 常用内置常量 38
3.5.2 Python 中逻辑运算符 38
3.5.3 Python 中比较运算符 39
3.5.4 Python 中其他逻辑操作符 39
3.6 序列 40
3.6.1 序列切片 40
3.6.2 序列内置操作 41
3.7 小结 42
3.8 本章习题 42
第4章 控制语句执行流程 44
4.1 用if 选择执行语句 44
4.1.1 if 基础 44
4.1.2 if 语句的嵌套 47
4.2 用for 循环执行语句 49
4.2.1 for 基础 49
4.2.2 for 语句与break 语句、continue 语句 49
4.2.3 for 语句与range()函数 51
4.2.4 for 语句与内置迭代函数. 52
4.3 用while 循环执行语句 53
4.3.1 while 基础 53
4.3.2 增量赋值运算符 54
4.4 推导或内涵(list comprehension) 55
4.4.1 推导基础 55
4.4.2 推导进阶 55
4.5 小结 56
4.6 本章习题 56
第5 章 自定义功能单元(一) 58
5.1 使用函数 58
5.1.1 声明函数 58
5.1.2 调用函数 59
5.2 深入函数 60
5.2.1 默认值参数 60
5.2.2 参数传递 62
5.2.3 可变数量参数传递 62
5.2.4 拆解序列的函数调用 65
5.2.5 函数调用时参数的传递方法 65
5.3 变量的作用域 67
5.4 使用匿名函数(lambda) 68
5.5 Python 常用内建函数 69
5.6 小结 70
5.7 本章习题 70
第6 章 自定义功能单元(二) 72
6.1 面向对象编程概述 72
6.1.1 万物皆对象 72
6.1.2 对象优越性 73
6.1.3 类和对象 73
6.2 定义和使用类 73
6.2.1 定义类 73
6.2.2 使用类 74
6.3 类的属性和方法 75
6.3.1 类的方法 75
6.3.2 类的属性 77
6.3.3 类成员方法与静态方法 79
6.4 类的继承 80
6.4.1 类的继承 80
6.4.2 多重继承 81
6.4.3 方法重载 83
6.5 小结 83
6.6 本章习题 83
第7 章 错误、异常和程序调试 85
7.1 语法错误 85
7.2 异常的处理 86
7.2.1 异常处理的基本语法 86
7.2.2 Python 主要的内置异常及其处理 88
7.3 手工抛出异常 90
7.3.1 用raise 手工抛出异常 90
7.3.2 assert 语句 91
7.3.3 自定义异常类 92
7.4 用pdb 调试程序 93
7.4.1 调试语句块函数 93
7.4.2 调试函数 94
7.5 测试程序 95
7.5.1 用testmod 函数测试 95
7.5.2 用testfile 函数测试 96
7.6 小结 97
7.7 本章习题 97
第2 篇 Python 编程高阶
第8 章 复杂程序组织 99
8.1 模块 99
8.1.1 模块概述 99
8.1.2 自己编写模块 100
8.1.3 模块位置 101
8.1.4 __pycache__目录 102
8.1.5 具有独立运行能力的模块 102
8.2 包 103
8.2.1 包概述 103
8.2.2 包详解 104
8.3 Python 常用标准库简介 105
8.3.1 数学类模块 105
8.3.2 日期与时间类 106
8.4 小结 106
8.5 本章习题 106
第9 章 迭代器、生成器与装饰器 108
9.1 迭代器 108
9.1.1 迭代器概述 108
9.1.2 自定义迭代器 109
9.1.3 内置迭代器工具 109
9.2 生成器 112
9.2.1 生成器创建 112
9.2.2 深入生成器 113
9.2.3 生成器与协程 114
9.3 装饰器 115
9.3.1 装饰器概述 115
9.3.2 装饰函数 115
9.3.3 装饰类 116
9.4 小结 117
9.5 本章习题 118
第10 章 Python 进阶话题 119
10.1 函数与命名空间 119
10.2 闭包及其应用 120
10.2.1 闭包概述 120
10.2.2 闭包与延迟求值 121
10.2.3 闭包与泛型函数 121
10.3 上下文管理器 122
10.4 用字符串操作对象属性 124
10.5 用字典构造分支程序 125
10.6 重载类的特殊方法 126
10.7 鸭子类型(duck typing)与多态 127
10.8 小结 128
10.9 本章习题 128
第11 章 文件与文件系统 130
11.1 文件操作基础 130
11.1.1 open()函数 130
11.1.2 用fileinput 操作文件 132
11.2 常用文件和目录操作 133
11.2.1 获得当前路径 133
11.2.2 获得目录中的内容 133
11.2.3 创建目录 134
11.2.4 删除目录 134
11.2.5 判断是否是目录 134
11.2.6 判断是否为文件 134
11.2.7 遍历某目录下的所有文件和目录 135
11.2.8 由文件名批量获取姓名和考号 135
11.2.9 批量文件重命名 136
11.3 编译为可执行文件 137
11.3.1 用py2exe 生成可执行程序 137
11.3.2 用cx_freeze 生成可执行文件 138
11.4 小结 140
11.5 本章习题 140
第12 章 基于tkinter 的GUI 编程 141
12.1 GUI 概述 141
12.1.1 GUI 是什么 141
12.1.2 Python 编写GUI 程序库 141
12.2 tkinter 图形化库简介 142
12.2.1 创建GUI 程序第一步 142
12.2.2 创建GUI 程序第二步 143
12.3 tkinter 组件 144
12.3.1 组件分类 144
12.3.2 布局组件 144
12.4 常用tkinter 组件 145
12.4.1 按钮 145
12.4.2 文本框 147
12.4.3 标签 148
12.4.4 菜单 149
12.4.5 单选框和复选框 151
12.4.6 绘制图形 153
12.5 响应操作事件 155
12.5.1 事件基础 155
12.5.2 响应事件 157
12.6 对话框 159
12.6.1 标准对话框 159
12.6.2 自定义对话框 165
12.7 小结 166
12.8 本章习题 166
第13 章 正则表达式 168
13.1 正则表达式基础 168
13.1.1 正则表达式概述 168
13.1.2 正则表达式基本元字符 168
13.1.3 常用正则表达式 170
13.2 re 模块 171
13.2.1 正则匹配搜索函数 171
13.2.2 sub()与subn()函数 172
13.2.3 split()函数 173
13.2.4 正则表达式对象 173
13.3 分组匹配与匹配对象使用 177
13.3.1 分组基础 177
13.3.2 分组扩展 177
13.3.3 匹配对象与组的使用 178
13.3.4 匹配对象与索引使用 179
13.4 正则表达式应用示例 180
13.5 小结 182
13.6 本章习题 182
第14 章 网络编程 183
14.1 网络编程基础 183
14.1.1 什么是网络 183
14.1.2 网络协议 183
14.1.3 地址与端口 184
14.2 套接字的使用 185
14.2.1 用socket 建立服务器端程序 185
14.2.2 用socket 建立客户端程序 186
14.2.3 用socket 建立基于UDP 协议的服务器与客户端程序 188
14.2.4 用socketserver 模块建立服务器 189
14.3 urllib 与http 包使用 190
14.3.1 urllib 和http 包简介 190
14.3.2 用urllib 和http 包访问网站 193
14.4 用poplib 与smtplib 库收发邮件 194
14.4.1 用poplib 检查邮件 194
14.4.2 用smtplib 发送邮件 196
14.5 用ftplib 访问FTP 服务 198
14.5.1 ftplib 模块简介 198
14.5.2 使用Python 访问FTP 200
14.6 小结 202
14.7 本章习题 202
第15 章 线程和进程 203
15.1 线程 203
15.1.1 用threading.Thread 直接在线程中运行函数 203
15.1.2 通过继承threading.Thread 类来创建线程 204
15.1.3 线程类Thread 使用 204
15.2 进程 208
15.2.1 进程基础 208
15.2.2 用Popen 类创建进程 209
15.3 小结 211
15.4 本章习题 211
第16 章 数据库编程 212
16.1 Python 数据库应用程序接口 212
16.1.1 数据库应用程序接口概述 212
16.1.2 数据库游标的使用 213
16.2 Python 操作SQLite3 数据库 213
16.2.1 SQLite3 数据库简介 214
16.2.2 SQLite3 数据库操作实例 214
16.3 Python 操作MariaDB 数据库 216
16.3.1 MariaDB 数据库简介 217
16.3.2 建立MariaDB 数据库操作环境 217
16.3.3 MariaDB 数据库操作实例 219
16.4 Python 操作MongoDB 数据库 221
16.4.1 MongoDB 数据库简介 221
16.4.2 建立MongoDB 数据库操作环境 221
16.4.3 MongoDB 数据库基础 222
16.4.4 MongoDB 数据库操作实例 225
16.4.5 用对象关系映射(ORM)工具操作MongoDB 数据库 227
16.5 小结 230
16.6 本章习题 230
第17 章 Web 网站编程 231
17.1 Web 网站编程概述 231
17.2 Flask Web 框架及其应用 232
17.2.1 Flask Web 框架简介 232
17.2.2 Flask Web 框架初识 232
17.2.3 URL 装饰器与URL 参数传递 234
17.2.4 GET 与POST 请求的参数传递 236
17.2.5 使用cookie 与session 跟踪客户 238
17.2.6 使用静态文件资源与页面文件 241
17.2.7 接收上传文件 242
17.2.8 在Flask 框架中使用数据库 243
17.3 Tornado Web 框架及其应用 246
17.3.1 Tornado 框架简介 246
17.3.2 Tornado 框架初识 246
17.3.3 请求参数的获取 248
17.3.4 用cookie 与安全cookie 跟踪客户 250
17.3.5 URL 转向与静态文件资源 251
17.3.6 Tornado Web 框架应用举例 253
17.4 小结 258
17.5 本章习题 258
第18 章 数据结构基础 260
18.1 表、栈和队列 260
18.1.1 用列表来创建表 260
18.1.2 自定义栈数据结构 261
18.1.3 实现队列功能 263
18.2 树和图 264
18.2.1 用列表构建树 264
18.2.2 实现二叉树类与遍历二叉树 265
18.2.3 用字典构建与搜索图 268
18.3 查找与排序 270
18.3.1 实现二分查找 270
18.3.2 用二叉树排序 272
18.4 小结 274
18.5 本章习题 274
第19 章 用Pillow 库处理图片 275
19.1 第三方Pillow 库概述 275
19.1.1 安装第三方Pillow 库 275
19.1.2 Pillow 库简介 275
19.1.3 Pillow 库处理图像基础 276
19.1.4 Image 模块中函数的使用 277
19.1.5 Image 模块中Image 类的使用 280
19.1.6 使用ImageChops 模块进行图片合成 285
19.1.7 使用ImageEnhance 模块增强图像效果 288
19.1.8 使用ImageFilter 模块的滤镜 289
19.1.9 使用ImageDraw 模块画图 290
19.2 使用Pillow 库处理图片举例 291
19.2.1 图片格式转换 291
19.2.2 批量生成缩略图 293
19.2.3 为图片添加Logo 296
19.3 小结 300
19.4 本章习题 301
第3 篇 Python 编程实战
第20 章 案例1 做一个Windows 上的360 工具 302
20.1 案例背景 302
20.2 从创建图形化界面开始 303
20.2.1 创建基本图形化工作界面 303
20.2.2 响应菜单事件 305
20.3 清理垃圾文件 307
20.3.1 迭代目录 307
20.3.2 扫描垃圾文件 308
20.3.3 多线程加速 310
20.3.4 扫描所有磁盘 311
20.3.5 删除垃圾文件 313
20.4 搜索文件 315
20.4.1 搜索超大文件 315
20.4.2 按名称搜索文件 316
20.5 小结 317
第21 章 案例2 Python 搞定大数据 319
21.1 案例背景 319
21.1.1 大数据处理方式概述 319
21.1.2 处理日志文件 320
21.1.3 要实现的案例目标 321
21.2 分割日志文件 321
21.3 用Map 函数处理小文件 323
21.4 用Reduce 函数归集数据 325
21.5 小结 326

读者评论

  • 你那些说有百度云盘的,这个资源的百度资源地址发下呗

    沐风发表于 2020/6/15 0:08:46
  • 哪里有答案啊

    liufei发表于 2019/10/25 16:17:10
  • 视频包太大,能不能离线下载?

    编程新血发表于 2019/10/22 19:20:20
    • 弄个百度云的超级会员下载就快了, 我借了同学的 然后也就10分钟吧,不到3个G的压缩包就下载完了

      发表于 2020/1/31 19:55:33
  • 有没有实验题答案啊,跪求

    天青等雨发表于 2019/3/8 10:38:03
  • 请问每一章的习题中的实验题答案在哪里可以下载?紧急救助

    F~js发表于 2019/1/18 18:03:00

同系列书

  • 21天学通Python(第2版)

    张启玉 刘刚 (作者)

    本书全面、系统、深入地讲解了Python编程基础语法与高级应用。在讲解过程中,通过大量实际操作的实例将Python语言知识全面、系统、深入地呈现给读者。此外,作...

    ¥59.80
  • 21天学通Visual Basic(第5版)

    张启玉 刘刚 (作者)

    本书主要针对没有程序设计基础的读者,详细介绍了Visual Basic的基本概念和编程技术,是Visual Basic的入门教程。书中通过大量的范例及综合练习来...

    ¥59.80
  • 21天学通Java(第5版)

    张启玉 刘刚 (作者)

    本书是Java语言的入门教程,由浅入深、循序渐进地讲授如何使用Java语言进行程序开发。全书内容包括Java开发环境、Java基本语法知识、Java面向对象特点...

    ¥59.80
  • 21天学通C语言(第5版)

    张启玉 刘刚 (作者)

    本书是C语言的入门教程,详细介绍了C语言的基本概念和编程技术。本书分为八篇,共21章内容。第一篇为C语言入门篇,该篇介绍了C语言程序的特点及编程的准备。第二篇为...

    ¥59.80
  • 21天学通JavaScript(第4版)

    北京源智天下科技有限公司 张启玉 刘刚 (作者)

    JavaScript 是Web 开发中应用最早、发展最成熟、用户最多的脚本语言。其语法简洁,代码可读性在众多脚本语言中最好,它在使用时不用考虑数据类型,是真正意...

    ¥59.80

相关图书

程序员修炼之道:通向务实的最高境界(第2版)

THOMAS, DAVID; HUNT, ANDREW (作者)

《程序员修炼之道》之所以在全球范围内广泛传播,被一代代开发者奉为圭臬,盖因它可以创造出真正的价值:或编写出更好的软件,或探究出编程的本质,而所有收获均不依赖于特...

¥89.00

ASP.NET Core 3框架揭秘

蒋金楠 (作者)

本书主要阐述 ASP.NET Core 最核心的部分——请求处理管道。通过阅读本书,读者可以深刻系统地了解 ASP.NET Core 应用在启动过程中管道的构建...

¥199.00

Java持续交付

Daniel Bryant (作者) 张若飞 (译者)

随着Java 8的发布,以及Spring引导等web/微服务框架的可用性,设计和实现Java驱动的应用程序从来都不是一个更好的时机。但是,在不断向生产环境交付工...

¥119.00

读故事学编程——Python王国历险记(双色)

李伟 (作者)

这是一本故事书,也是一本编程书。<br>小男孩派森无意中闯入神秘国度—Python 王国,恰好遇到了国王的鹦鹉,于是他们开始了奇幻的冒险之旅。在这个过程中,他们...

¥69.00

21天学通HTML5+CSS3(第2版)

张启玉 刘刚 (作者)

本书全面、系统、深入地讲解了HTML5+CSS3网页设计与编程的基础知识与高级应用。在讲解过程中,通过大量取自实际操作的案例,将网页开发知识全面、系统、深入地呈...

¥89.90

寻声记:Scratch 3.0趣味编程之旅(全彩)

王晓辉 (作者)

本书是一本编程故事书,以Scratch 3.0作为编程设计工具,围绕一只小猫“喵喵呱” 找回叫声的故事展开全书内容。  <br>本书包含9章共27节,通篇注重情...

¥69.00