书籍详情
看漫画学Python:有趣、有料、好玩、好用(全彩修订版)
作者:关东升
出版社:电子工业出版社
出版时间:2023-02-01
ISBN:9787121449314
定价:¥100.00
购买这本书可以去
内容简介
磨砺编程技能,平替ChatGPT!Python是一门既简单又强大的编程语言,被广泛应用于数据分析、大数据、网络爬虫、自动化运维、科学计算和人工智能等领域。Python也越来越重要,成为国家计算机等级考试科目,某些中小学也开设了Python编程课程。本书秉承有趣、有料、好玩、好用的理念,通过3个漫画人物的轻松对话、搞笑形象及夸张动作,把复杂的Python技术问题简单化。本书总计16章:第1章介绍Python的历史和特点,并进行开发环境搭建;第2~5章介绍Python的基础知识,包括数据类型、表达式、流程控制等;第6~7章介绍Python常用的容器类型数据和字符串数据;第8~11章介绍Python的进阶内容,包括函数、类与对象、异常处理、常用内置模块等;第12~16章介绍Python实用库的使用方法,包括文件读写、图形用户界面、网络通信、数据库访问和多线程等。本书在每一章中都安排了“动动手”环节,您可在该环节找到应用实例;在每一章结尾都提供了“练一练”环节,您可在该环节找到同步练习题。如果您想入门Python,则无论您是想学习编程的小学生,还是想参加计算机竞赛的中学生,抑或是计算机相关专业的大学生,甚至是正在从事软件开发从事软件开发工作的职场人,本书都适合您阅读和学习。
作者简介
关东升一个在IT领域摸爬滚打20多年的老程序员、软件架构师、高级培训讲师、IT作家。熟悉Java、Kotlin、Python、iOS、Android、游戏开发、数据库开发与设计、软件架构设计等多种IT技术。参与设计和开发北京市公交一卡通百亿级大型项目,开发国家农产品追溯系统、金融系统微博等移动客户端项目。近期为中国移动、中国联通、南方航空、中国石油、工商银行、平安银行和天津港务局等企事业单位授课。著有《看漫画学Python》《看漫画学Python 2》《趣玩Python》《Java从小白到大牛》《Kotlin从小白到大牛》《Python从小白到大牛》等40多部计算机书籍。赵大羽用户体验设计师,UI及交互设计专家,企业内训讲师及咨询顾问。毕业于清华大学美术学院,曾为摩托罗拉、上海通用别克、宝洁、西门子等企业提供设计工作;为华为、联想、惠普、携程、咪咕传媒、爱普生等企业提供用户体验咨询服务及设计培训;著有书籍《品味移动设计》《交互设计的艺术》。
目录
第1章 油箱加满!准备出发!
1.1 Python的历史 / 2
1.2 Python的特点 / 3
1.3 搭建Python开发环境 / 4
1.4 动动手 ——编写和运行一个Hello World程序 / 5
1.4.1 交互方式 / 6
1.4.2 文件方式 / 7
1.5 练一练 / 10
第2章 编程基础那点事儿
2.1 标识符 / 12
2.2 关键字 / 13
2.3 变量 / 13
2.4 语句 / 14
2.5 代码注释 / 15
2.6 模块 / 15
2.7 动动手 ——实现两个模块间的代码元素访问 / 17
2.8 练一练 / 18
第3章 数字类型的数据
3.1 Python中的数据类型 / 20
3.2 整数类型 / 20
3.3 浮点类型 / 21
3.4 复数类型 / 22
3.5 布尔类型 / 22
3.6 数字类型的相互转换 / 23
3.6.1 隐式类型的转换 / 24
3.6.2 显式类型的转换 / 25
3.7 练一练 / 26
第4章 运算符
4.1 算术运算符 / 28
4.2 比较运算符 / 29
4.3 逻辑运算符 / 31
4.4 位运算符 / 32
4.5 赋值运算符 / 34
4.6 运算符的优先级 / 35
4.7 练一练 / 38
第5章 程序流程控制
5.1 分支语句 / 40
5.1.1 if结构 / 40
5.1.2 if-else结构 / 41
5.1.3 if-elif-else结构 / 43
5.2 循环语句 / 44
5.2.1 while语句 / 44
5.2.2 for语句 / 47
5.3 跳转语句 / 50
5.3.1 break语句 / 50
5.3.2 continue语句 / 51
5.4 动动手 ——计算水仙花数 / 52
5.5 练一练 / 54
第6章 容器类型的数据
6.1 序列 / 56
6.1.1 序列的索引操作 / 56
6.1.2 加与乘操作 / 57
6.1.3 切片操作 / 58
6.1.4 成员测试 / 60
6.2 列表 / 60
6.2.1 创建列表 / 60
6.2.2 追加元素 / 61
6.2.3 插入元素 / 62
6.2.4 替换元素 / 63
6.2.5 删除元素 / 63
6.3 元组 / 64
6.3.1 创建元组 / 64
6.3.2 元组拆包 / 65
6.4 集合 / 67
6.4.1 创建集合 / 67
6.4.2 修改集合 / 68
6.5 字典 / 69
6.5.1 创建字典 / 69
6.5.2 修改字典 / 71
6.5.3 访问字典视图 / 72
6.6 动动手 ——遍历字典 / 73
6.7 练一练 / 74
第7章 字符串
7.1 字符串的表示方式 / 76
7.1.1 普通字符串 / 76
7.1.2 原始字符串 / 78
7.1.3 长字符串 / 79
7.2 字符串与数字的相互转换 / 79
7.2.1 将字符串转换为数字 / 80
7.2.2 将数字转换为字符串 / 81
7.3 格式化字符串 / 81
7.3.1 使用占位符 / 82
7.3.2 格式化控制符 / 83
7.4 操作字符串 / 84
7.4.1 字符串查找 / 84
7.4.2 字符串替换 / 85
7.4.3 字符串分割 / 86
7.5 动动手 ——统计英文文章中单词出现的频率 / 87
7.6 练一练 / 90
第8章 函数
8.1 定义函数 / 92
8.2 调用函数 / 93
8.2.1 使用位置参数调用函数 / 93
8.2.2 使用关键字参数调用函数 / 94
8.3 参数的默认值 / 95
8.4 可变参数 / 96
8.4.1 基于元组的可变参数(*可变参数) / 96
8.4.2 基于字典的可变参数(**可变参数) / 97
8.5 函数中变量的作用域 / 98
8.6 函数类型 / 100
8.6.1 理解函数类型 / 100
8.6.2 过滤函数filter() / 102
8.6.3 映射函数map() / 103
8.7 lambda()函数 / 104
8.8 动动手 ——使用更多的lambda()函数 / 106
8.9 练一练 / 108
第9章 类和对象
9.1 面向对象 / 110
9.2 定义类 / 110
9.3 创建对象 / 111
9.4 类的成员 / 112
9.4.1 实例变量 / 113
9.4.2 构造方法 / 114
9.4.3 实例方法 / 115
9.4.4 类变量 / 116
9.4.5 类方法 / 117
9.5 封装性 / 118
9.5.1 私有变量 / 119
9.5.2 私有方法 / 120
9.5.3 使用属性 / 121
9.6 继承性 / 124
9.6.1 Python中的继承 / 124
9.6.2 多继承 / 126
9.6.3 重写方法 / 128
9.7 多态性 / 130
9.7.1 继承与多态 / 130
9.7.2 鸭子类型测试与多态 / 131
9.8 练一练 / 134
第10章 异常处理
10.1 个异常 ——除零异常 / 136
10.2 捕获异常 / 137
10.2.1 try-except语句 / 138
10.2.2 多个except代码块 / 140
10.2.3 多重异常捕获 / 141
10.2.4 try-except语句嵌套 / 142
10.3 使用finally代码块释放资源 / 143
10.4 自定义异常类 / 145
10.5 动动手 ——手动引发异常 / 146
10.6 练一练 / 148
第11章 常用的内置模块
11.1 数学计算模块 ——math模块 / 150
11.2 日期时间模块 ——datetime模块 / 151
11.2.1 datetime类 / 152
11.2.2 date类 / 153
11.2.3 time类 / 154
11.2.4 计算时间跨度类 ——timedelta / 155
11.2.5 将日期时间对象与字符串相互转换 / 156
11.3 正则表达式模块 —— re模块 / 157
11.3.1 字符串匹配 / 158
11.3.2 字符串查找 / 159
11.3.3 字符串替换 / 160
11.3.4 字符串分割 / 161
11.4 点拨点拨 ——如何使用官方文档查找模块帮助信息 / 162
11.5 练一练 / 164
第12章 文件读写
12.1 打开文件 / 166
12.2 关闭文件 / 169
12.2.1 在finally代码块中关闭文件 / 169
12.2.2 在with as代码块中关闭文件 / 171
12.3 读写文本文件 / 172
12.4 动动手 ——复制文本文件 / 172
12.5 读写二进制文件 / 174
12.6 动动手 ——复制二进制文件 / 174
12.7 练一练 / 176
第13章 图形用户界面
13.1 Python中的图形用户界面开发库 / 178
13.2 安装wxPython / 178
13.3 个wxPython程序 / 180
13.4 自定义窗口类 / 182
13.5 在窗口中添加控件 / 182
13.6 事件处理 / 184
13.7 布局管理 / 185
13.7.1 盒子布局管理器 / 186
13.7.2 动动手——重构事件处理示例 / 188
13.7.3 动动手——盒子布局管理器嵌套示例 / 189
13.8 控件 / 191
13.8.1 文本输入控件 / 191
13.8.2 复选框和单选按钮 / 193
13.8.3 列表 / 195
13.8.4 静态图片控件 / 196
13.9 点拨点拨 —— 如何使用wxPython官方文档 / 198
13.10 练一练 / 200
第14章 网络通信
14.1 基本的网络知识 / 202
14.1.1 TCP/IP / 202
14.1.2 IP地址 / 202
14.1.3 端口 / 203
14.1.4 HTTP/HTTPS / 203
14.2 搭建自己的Web服务器 / 204
14.3 urllib.request模块 / 209
14.3.1 发送GET请求 / 209
14.3.2 发送POST请求 / 210
14.4 JSON数据 / 211
14.4.1 JSON文档的结构 / 212
14.4.2 对JSON数据的解码 / 212
14.5 动动手 ——下载图片示例 / 214
14.6 动动手 ——返回所有备忘录信息 / 215
14.7 练一练 / 218
第15章 访问数据库
15.1 SQLite / 220
15.1.1 SQLite的数据类型 / 220
15.1.2 Python的数据类型与SQLite的数据类型的映射 / 220
15.1.3 使用GUI管理工具管理SQLite / 221
15.2 数据库编程的基本操作过程 / 224
15.3 sqlite3模块 / 225
15.3.1 数据库连接对象Connection / 225
15.3.2 游标对象Cursor / 226
15.4 动动手 ——数据库的CRUD操作示例 / 226
15.4.1 示例中的数据表 / 227
15.4.2 无条件查询 / 228
15.4.3 有条件查询 / 229
15.4.4 插入数据 / 230
15.4.5 更新数据 / 232
15.4.6 删除数据 / 234
15.5 点拨点拨 ——防止SQL注入攻击 / 236
15.6 练一练 / 238
第16章 多线程
16.1 线程相关的知识 / 240
16.1.1 进程 / 240
16.1.2 线程 / 240
16.1.3 主线程 / 240
16.2 线程模块 ——threading模块 / 241
16.3 创建子线程 / 242
16.3.1 自定义函数实现线程体 / 242
16.3.2 自定义线程类实现线程体 / 244
16.4 线程管理 / 245
16.4.1 等待线程结束 / 245
16.4.2 线程停止 / 247
16.5 动动手 ——下载图片示例 / 249
16.6 练一练 / 252
附录A “练一练”参考答案 / 253
1.1 Python的历史 / 2
1.2 Python的特点 / 3
1.3 搭建Python开发环境 / 4
1.4 动动手 ——编写和运行一个Hello World程序 / 5
1.4.1 交互方式 / 6
1.4.2 文件方式 / 7
1.5 练一练 / 10
第2章 编程基础那点事儿
2.1 标识符 / 12
2.2 关键字 / 13
2.3 变量 / 13
2.4 语句 / 14
2.5 代码注释 / 15
2.6 模块 / 15
2.7 动动手 ——实现两个模块间的代码元素访问 / 17
2.8 练一练 / 18
第3章 数字类型的数据
3.1 Python中的数据类型 / 20
3.2 整数类型 / 20
3.3 浮点类型 / 21
3.4 复数类型 / 22
3.5 布尔类型 / 22
3.6 数字类型的相互转换 / 23
3.6.1 隐式类型的转换 / 24
3.6.2 显式类型的转换 / 25
3.7 练一练 / 26
第4章 运算符
4.1 算术运算符 / 28
4.2 比较运算符 / 29
4.3 逻辑运算符 / 31
4.4 位运算符 / 32
4.5 赋值运算符 / 34
4.6 运算符的优先级 / 35
4.7 练一练 / 38
第5章 程序流程控制
5.1 分支语句 / 40
5.1.1 if结构 / 40
5.1.2 if-else结构 / 41
5.1.3 if-elif-else结构 / 43
5.2 循环语句 / 44
5.2.1 while语句 / 44
5.2.2 for语句 / 47
5.3 跳转语句 / 50
5.3.1 break语句 / 50
5.3.2 continue语句 / 51
5.4 动动手 ——计算水仙花数 / 52
5.5 练一练 / 54
第6章 容器类型的数据
6.1 序列 / 56
6.1.1 序列的索引操作 / 56
6.1.2 加与乘操作 / 57
6.1.3 切片操作 / 58
6.1.4 成员测试 / 60
6.2 列表 / 60
6.2.1 创建列表 / 60
6.2.2 追加元素 / 61
6.2.3 插入元素 / 62
6.2.4 替换元素 / 63
6.2.5 删除元素 / 63
6.3 元组 / 64
6.3.1 创建元组 / 64
6.3.2 元组拆包 / 65
6.4 集合 / 67
6.4.1 创建集合 / 67
6.4.2 修改集合 / 68
6.5 字典 / 69
6.5.1 创建字典 / 69
6.5.2 修改字典 / 71
6.5.3 访问字典视图 / 72
6.6 动动手 ——遍历字典 / 73
6.7 练一练 / 74
第7章 字符串
7.1 字符串的表示方式 / 76
7.1.1 普通字符串 / 76
7.1.2 原始字符串 / 78
7.1.3 长字符串 / 79
7.2 字符串与数字的相互转换 / 79
7.2.1 将字符串转换为数字 / 80
7.2.2 将数字转换为字符串 / 81
7.3 格式化字符串 / 81
7.3.1 使用占位符 / 82
7.3.2 格式化控制符 / 83
7.4 操作字符串 / 84
7.4.1 字符串查找 / 84
7.4.2 字符串替换 / 85
7.4.3 字符串分割 / 86
7.5 动动手 ——统计英文文章中单词出现的频率 / 87
7.6 练一练 / 90
第8章 函数
8.1 定义函数 / 92
8.2 调用函数 / 93
8.2.1 使用位置参数调用函数 / 93
8.2.2 使用关键字参数调用函数 / 94
8.3 参数的默认值 / 95
8.4 可变参数 / 96
8.4.1 基于元组的可变参数(*可变参数) / 96
8.4.2 基于字典的可变参数(**可变参数) / 97
8.5 函数中变量的作用域 / 98
8.6 函数类型 / 100
8.6.1 理解函数类型 / 100
8.6.2 过滤函数filter() / 102
8.6.3 映射函数map() / 103
8.7 lambda()函数 / 104
8.8 动动手 ——使用更多的lambda()函数 / 106
8.9 练一练 / 108
第9章 类和对象
9.1 面向对象 / 110
9.2 定义类 / 110
9.3 创建对象 / 111
9.4 类的成员 / 112
9.4.1 实例变量 / 113
9.4.2 构造方法 / 114
9.4.3 实例方法 / 115
9.4.4 类变量 / 116
9.4.5 类方法 / 117
9.5 封装性 / 118
9.5.1 私有变量 / 119
9.5.2 私有方法 / 120
9.5.3 使用属性 / 121
9.6 继承性 / 124
9.6.1 Python中的继承 / 124
9.6.2 多继承 / 126
9.6.3 重写方法 / 128
9.7 多态性 / 130
9.7.1 继承与多态 / 130
9.7.2 鸭子类型测试与多态 / 131
9.8 练一练 / 134
第10章 异常处理
10.1 个异常 ——除零异常 / 136
10.2 捕获异常 / 137
10.2.1 try-except语句 / 138
10.2.2 多个except代码块 / 140
10.2.3 多重异常捕获 / 141
10.2.4 try-except语句嵌套 / 142
10.3 使用finally代码块释放资源 / 143
10.4 自定义异常类 / 145
10.5 动动手 ——手动引发异常 / 146
10.6 练一练 / 148
第11章 常用的内置模块
11.1 数学计算模块 ——math模块 / 150
11.2 日期时间模块 ——datetime模块 / 151
11.2.1 datetime类 / 152
11.2.2 date类 / 153
11.2.3 time类 / 154
11.2.4 计算时间跨度类 ——timedelta / 155
11.2.5 将日期时间对象与字符串相互转换 / 156
11.3 正则表达式模块 —— re模块 / 157
11.3.1 字符串匹配 / 158
11.3.2 字符串查找 / 159
11.3.3 字符串替换 / 160
11.3.4 字符串分割 / 161
11.4 点拨点拨 ——如何使用官方文档查找模块帮助信息 / 162
11.5 练一练 / 164
第12章 文件读写
12.1 打开文件 / 166
12.2 关闭文件 / 169
12.2.1 在finally代码块中关闭文件 / 169
12.2.2 在with as代码块中关闭文件 / 171
12.3 读写文本文件 / 172
12.4 动动手 ——复制文本文件 / 172
12.5 读写二进制文件 / 174
12.6 动动手 ——复制二进制文件 / 174
12.7 练一练 / 176
第13章 图形用户界面
13.1 Python中的图形用户界面开发库 / 178
13.2 安装wxPython / 178
13.3 个wxPython程序 / 180
13.4 自定义窗口类 / 182
13.5 在窗口中添加控件 / 182
13.6 事件处理 / 184
13.7 布局管理 / 185
13.7.1 盒子布局管理器 / 186
13.7.2 动动手——重构事件处理示例 / 188
13.7.3 动动手——盒子布局管理器嵌套示例 / 189
13.8 控件 / 191
13.8.1 文本输入控件 / 191
13.8.2 复选框和单选按钮 / 193
13.8.3 列表 / 195
13.8.4 静态图片控件 / 196
13.9 点拨点拨 —— 如何使用wxPython官方文档 / 198
13.10 练一练 / 200
第14章 网络通信
14.1 基本的网络知识 / 202
14.1.1 TCP/IP / 202
14.1.2 IP地址 / 202
14.1.3 端口 / 203
14.1.4 HTTP/HTTPS / 203
14.2 搭建自己的Web服务器 / 204
14.3 urllib.request模块 / 209
14.3.1 发送GET请求 / 209
14.3.2 发送POST请求 / 210
14.4 JSON数据 / 211
14.4.1 JSON文档的结构 / 212
14.4.2 对JSON数据的解码 / 212
14.5 动动手 ——下载图片示例 / 214
14.6 动动手 ——返回所有备忘录信息 / 215
14.7 练一练 / 218
第15章 访问数据库
15.1 SQLite / 220
15.1.1 SQLite的数据类型 / 220
15.1.2 Python的数据类型与SQLite的数据类型的映射 / 220
15.1.3 使用GUI管理工具管理SQLite / 221
15.2 数据库编程的基本操作过程 / 224
15.3 sqlite3模块 / 225
15.3.1 数据库连接对象Connection / 225
15.3.2 游标对象Cursor / 226
15.4 动动手 ——数据库的CRUD操作示例 / 226
15.4.1 示例中的数据表 / 227
15.4.2 无条件查询 / 228
15.4.3 有条件查询 / 229
15.4.4 插入数据 / 230
15.4.5 更新数据 / 232
15.4.6 删除数据 / 234
15.5 点拨点拨 ——防止SQL注入攻击 / 236
15.6 练一练 / 238
第16章 多线程
16.1 线程相关的知识 / 240
16.1.1 进程 / 240
16.1.2 线程 / 240
16.1.3 主线程 / 240
16.2 线程模块 ——threading模块 / 241
16.3 创建子线程 / 242
16.3.1 自定义函数实现线程体 / 242
16.3.2 自定义线程类实现线程体 / 244
16.4 线程管理 / 245
16.4.1 等待线程结束 / 245
16.4.2 线程停止 / 247
16.5 动动手 ——下载图片示例 / 249
16.6 练一练 / 252
附录A “练一练”参考答案 / 253
猜您喜欢