
从零开始学Python程式设计
《从零开始学python程式设计》是由机械工业出版社于2017年出版的一本图书,本书作者是吴惠茹。该书以基础入门,有序和无序、标準函式馆、面向对象和高级进阶五大篇的内容,提供初学者认识Python语言的魅力,并达到通盘活用学习的目的。
基本介绍
- 书名:从零开始学python程式设计
- 作者:吴惠茹
- ISBN:978-7-111-58381-3
- 定价:79.00元
- 出版社:机械工业出版社
- 出版时间:2017-11
- 装帧:平装
- 开本:16开
基本信息
作者:吴惠茹 等编着 |
ISBN(书号):978-7-111-58381-3 |
出版日期:2017-11 |
版次:1/1 |
开本:16 |
定价:¥79.00 |
内容简介
本书以基础入门,有序和无序、标準函式馆、面向对象和高级进阶五大篇的内容,提供初学者认识Python语言的魅力,并达到通盘活用学习的目的。全书重要主题:
控制台应用程式和视窗应用程式,标準函式馆的套用,封装、继承和多态三大技术各种模组处理数据流的高级套用。
本书以丰富的範例程式,辅以最精要的表达方式,降低初学者的学习难度;相信本书能让读者活学活用语言的编程和拍错能力,拓展程式语言的包容性,在编程世界悠游自如。
控制台应用程式和视窗应用程式,标準函式馆的套用,封装、继承和多态三大技术各种模组处理数据流的高级套用。
本书以丰富的範例程式,辅以最精要的表达方式,降低初学者的学习难度;相信本书能让读者活学活用语言的编程和拍错能力,拓展程式语言的包容性,在编程世界悠游自如。
目录
前言
第1章 Python的世界 1
1.1 轻鬆搞定Python 1
1.1.1 Python的起源 2
1.1.2 Python的版本 3
1.1.3 安装Python 3
1.1.4 测试Python 3.5软体 8
1.1.5 Python 3.5有什幺名堂 10
1.2 Python的IDE-IDLE 12
1.2.1 有哪些IDE软体 12
1.2.2 Python Shell 13
1.2.3 IDLE的环境设定 18
1.3 Python的编写风格 26
1.3.1 第一个Python程式 27
1.3.2 程式的缩排和注释 28
1.3.3 语句的分行和合併 28
1.3.4 程式的输入和输出 29
章节回顾 29
课后习题 30
第2章 Python基本语法 32
2.1 变数 32
2.1.1 标识符的命名规则 32
2.1.2 保留字和关键字 33
2.1.3 给变数赋值 33
2.2 认识Python的内置类型 37
2.3 Python的数据类型 38
2.3.1 整数类型 38
2.3.2 使用浮点数 41
2.3.3 複数类型 44
2.3.4 更精确的Decimal类型 44
2.3.5 例外——分数 47
2.4 使用表达式 48
2.4.1 算术运算符 48
2.4.2 赋值运算符 51
2.4.3 比较运算符 52
2.4.4 逻辑运算符 52
2.4.5 位运算符 53
章节回顾 55
课后习题 55
第3章 流程结构 57
3.1 程式设计语言结构 57
3.2 根据条件进行选择 58
3.2.1 if语句採用单向判断 58
3.2.2 if/else语句做双向判断 60
3.2.3 多重选择 62
3.3 循环语句 64
3.3.1 for循环 64
3.3.2 while循环 67
3.3.3 嵌套循环 69
3.3.4 产生随机数的random模组 71
3.4 特殊流程控制 72
3.4.1 break语句 73
3.4.2 continue语句 74
章节回顾 75
课后习题 75
第4章 序列类型与字元串 78
4.1 序列类型 78
4.1.1 序列与叠代器 79
4.1.2 创建序列数据 80
4.1.3 序列元素及其操作 80
4.1.4 与序列有关的函式 83
4.2 字元串 84
4.2.1 创建字元串 84
4.2.2 切片的概念 87
4.2.3 转义字元 91
4.2.4 字元串常用函式 92
4.3 格式化字元串 100
4.3.1 %运算符——格式字元串 100
4.3.2 内置函式format() 102
4.3.3 str.format()方法 104
章节回顾 107
课后习题 108
第5章 元组与列表 111
5.1 元组 111
5.1.1 创建元组 111
5.1.2 读取元组元素 115
5.1.3 元组的相关操作 116
5.2 列表的基本操作 119
5.2.1 创建列表 120
5.2.2 与列表有关的方法 122
5.2.3 数据排序 124
5.2.4 列表推导式 128
5.3 二维列表 133
5.3.1 产生矩阵 133
5.3.2 读取矩阵 134
5.3.3 矩阵与列表推导式 136
5.3.4 不规则列表 139
5.4 列表与複製 141
5.4.1 列表与浅複製 141
5.4.2 copy模组的copy()方法 143
5.4.3 deepcopy()方法複製对象本身 144
章节回顾 145
课后习题 145
第6章 字典和集合 148
6.1 字典 148
6.1.1 映射类型与字典 148
6.1.2 创建字典 149
6.1.3 键、值的操作 153
6.1.4 与字典有关的方法 158
6.1.5 字典推导式 161
6.2 默认字典和有序字典 163
6.2.1 默认字典 163
6.2.2 有序字典 165
6.3 集合 168
6.3.1 什幺是哈希 169
6.3.2 创建集合对象 170
6.3.3 集合的相关操作 171
6.3.4 集合的数学计算 173
6.3.5 集合推导式 179
章节回顾 179
课后习题 180
第7章 函式 182
7.1 认识函式 182
7.1.1 Python的内置函式 183
7.1.2 函式基础 186
7.1.3 定义函式 186
7.1.4 调用函式 187
7.1.5 返回值 188
7.2 参数的基本机制 190
7.2.1 参数如何传递 191
7.2.2 位置参数有顺序性 193
7.2.3 默认参数值 193
7.2.4 关键字参数 197
7.3 可长可短的参数行 199
7.3.1 形式参数的*表达式 199
7.3.2 **表达式与字典配合 202
7.3.3 *运算符拆分可叠代对象 205
7.3.4 **运算符拆分字典对象 207
7.4 更多函式的讨论 211
7.4.1 作用域 211
7.4.2 函式是第一等“公民” 214
7.4.3 局部函式与闭包 216
7.4.4 lambda函式 218
7.4.5 递归 223
章节回顾 225
课后习题 226
第8章 模组与函式馆 230
8.1 导入模组 230
8.1.1 命令行的参数列表 230
8.1.2 import/as语句 232
8.1.3 from/import语句 232
8.1.4 命名空间与dir()函式 233
8.2 使用模组 234
8.2.1 模组搜寻路径 234
8.2.2 自定义模组 235
8.2.3 reload()函式 238
8.3 认识函式馆 240
8.3.1 随机数 240
8.3.2 pprint模组让列印更有看头 243
8.4 处理时间与日期 245
8.4.1 获取时间戳的time模组 245
8.4.2 提供日期和时间的datetime模组 249
8.4.3 calendar模组 257
章节回顾 260
课后习题 260
第9章 面向对象基础 263
9.1 认识面向对象 263
9.1.1 对象具有属性和方法 264
9.1.2 类是对象的蓝图 264
9.1.3 抽象化概念 265
9.2 类与对象 265
9.2.1 定义类 266
9.2.2 先构造再初始化对象 270
9.2.3 设定、检查对象的属性 274
9.2.4 处理对象的特殊方法 275
9.3 类与修饰器 278
9.3.1 类也有属性 278
9.3.2 认识修饰器 279
9.3.3 类修饰器 284
9.3.4 类方法和静态方法 288
9.4 重载运算符 290
9.4.1 重载算术运算符 290
9.4.2 对重载加号运算符做更多了解 291
9.4.3 重载比较大小的运算符 295
章节回顾 296
课后习题 297
第10章 浅谈继承机制 299
10.1 认识继承 299
10.1.1 与继承有关的名词 299
10.1.2 继承概念 299
10.1.3 特化和泛化 300
10.1.4 组合 301
10.2 继承机制 301
10.2.1 产生继承 301
10.2.2 子类覆盖父类的方法 306
10.2.3 以特性存取属性 309
10.3 抽象类与多态 313
10.3.1 定义抽象类 313
10.3.2 多态 314
10.3.3 组合 316
章节回顾 317
课后习题 318
第11章 异常处理机制 320
11.1 什幺是异常 320
11.1.1 程式错误 320
11.1.2 引发异常 321
11.1.3 内置的Exception类 321
11.2 异常处理情况 325
11.2.1 设定捕捉器 325
11.2.2 try语句究竟是如何工作的 328
11.2.3 try/else语句 329
11.2.4 try/finally语句 330
11.3 以程式抛出异常 332
11.3.1 raise语句引发异常 332
11.3.2 assert语句 335
11.3.3 用户自定义异常处理 336
章节回顾 338
课后习题 338
第12章 数据流与档案 340
12.1 认识io模组 340
12.1.1 io模组提供了什幺 340
12.1.2 io模组提供的方法 341
12.1.3 TextIOBase类 343
12.2 文本档案的读和写 346
12.2.1 档案和指定模式 346
12.2.2 with/as语句 350
12.2.3 读取文本档案 351
12.2.4 浅谈文字编码 353
12.3 二进制数据 356
12.3.1 认识byte与bytearray 356
12.3.2 struct模组与二进制数据 357
12.4 文本档案并非只有文字 359
12.4.1 CSV格式 360
12.4.2 JSON格式 361
章节回顾 364
课后习题 364
第13章 GUI 366
13.1 Python GUI 366
13.1.1 GUI相关软体包 366
13.1.2 认识tkinter软体包 367
13.1.3 编写一个简单的视窗程式 369
13.2 管理版面布局 370
13.2.1 Frame为容器 371
13.2.2 版面布局——pack()方法 374
13.2.3 grid()方法用行、列决定位置 377
13.2.4 用坐标定位的place()方法 378
13.3 处理文字的组件 379
13.3.1 Label组件 379
13.3.2 Entry接收单行文字 381
13.3.3 Text接收多行文字 382
13.3.4 Button组件 384
13.4 选项组件 386
13.4.1 Checkbutton组件 386
13.4.2 Radiobutton组件 388
章节回顾 389
课后习题 390
第14章 GUI其他组件 392
14.1 对话框 392
14.1.1 messagebox组件 392
14.1.2 档案对话框 396
14.1.3 提供颜色的colorchooser 399
14.1.4 简易对话框 401
14.2 选单与事件处理 403
14.2.1 使用Menu组件创建选单 403
14.2.2 事件的触发 408
14.2.3 事件的处理 410
14.2.4 产生快捷选单 412
14.3 Canvas绘製图形 413
14.3.1 认识Canvas组件 414
14.3.2 用滑鼠绘製线条 415
14.3.3 绘製几何图形 417
章节回顾 418
课后习题 419
第15章 Django与Web 421
15.1 认识Django软体包 421
15.1.1 Web相关名词 421
15.1.2 安装Django 422
15.1.3 创建Django的Web项目 422
15.1.4 配置档案settings.py 425
15.2 视图、URL与简单模板 426
15.2.1 浅谈正则表达式 426
15.2.2 第一个视图程式 427
15.2.3 第二个视图程式 431
15.2.4 使用模板 433
15.3 模型与资料库 435
15.3.1 建立模型 435
15.3.2 从数据表读取数据 437
章节回顾 438
课后习题 439
第1章 Python的世界 1
1.1 轻鬆搞定Python 1
1.1.1 Python的起源 2
1.1.2 Python的版本 3
1.1.3 安装Python 3
1.1.4 测试Python 3.5软体 8
1.1.5 Python 3.5有什幺名堂 10
1.2 Python的IDE-IDLE 12
1.2.1 有哪些IDE软体 12
1.2.2 Python Shell 13
1.2.3 IDLE的环境设定 18
1.3 Python的编写风格 26
1.3.1 第一个Python程式 27
1.3.2 程式的缩排和注释 28
1.3.3 语句的分行和合併 28
1.3.4 程式的输入和输出 29
章节回顾 29
课后习题 30
第2章 Python基本语法 32
2.1 变数 32
2.1.1 标识符的命名规则 32
2.1.2 保留字和关键字 33
2.1.3 给变数赋值 33
2.2 认识Python的内置类型 37
2.3 Python的数据类型 38
2.3.1 整数类型 38
2.3.2 使用浮点数 41
2.3.3 複数类型 44
2.3.4 更精确的Decimal类型 44
2.3.5 例外——分数 47
2.4 使用表达式 48
2.4.1 算术运算符 48
2.4.2 赋值运算符 51
2.4.3 比较运算符 52
2.4.4 逻辑运算符 52
2.4.5 位运算符 53
章节回顾 55
课后习题 55
第3章 流程结构 57
3.1 程式设计语言结构 57
3.2 根据条件进行选择 58
3.2.1 if语句採用单向判断 58
3.2.2 if/else语句做双向判断 60
3.2.3 多重选择 62
3.3 循环语句 64
3.3.1 for循环 64
3.3.2 while循环 67
3.3.3 嵌套循环 69
3.3.4 产生随机数的random模组 71
3.4 特殊流程控制 72
3.4.1 break语句 73
3.4.2 continue语句 74
章节回顾 75
课后习题 75
第4章 序列类型与字元串 78
4.1 序列类型 78
4.1.1 序列与叠代器 79
4.1.2 创建序列数据 80
4.1.3 序列元素及其操作 80
4.1.4 与序列有关的函式 83
4.2 字元串 84
4.2.1 创建字元串 84
4.2.2 切片的概念 87
4.2.3 转义字元 91
4.2.4 字元串常用函式 92
4.3 格式化字元串 100
4.3.1 %运算符——格式字元串 100
4.3.2 内置函式format() 102
4.3.3 str.format()方法 104
章节回顾 107
课后习题 108
第5章 元组与列表 111
5.1 元组 111
5.1.1 创建元组 111
5.1.2 读取元组元素 115
5.1.3 元组的相关操作 116
5.2 列表的基本操作 119
5.2.1 创建列表 120
5.2.2 与列表有关的方法 122
5.2.3 数据排序 124
5.2.4 列表推导式 128
5.3 二维列表 133
5.3.1 产生矩阵 133
5.3.2 读取矩阵 134
5.3.3 矩阵与列表推导式 136
5.3.4 不规则列表 139
5.4 列表与複製 141
5.4.1 列表与浅複製 141
5.4.2 copy模组的copy()方法 143
5.4.3 deepcopy()方法複製对象本身 144
章节回顾 145
课后习题 145
第6章 字典和集合 148
6.1 字典 148
6.1.1 映射类型与字典 148
6.1.2 创建字典 149
6.1.3 键、值的操作 153
6.1.4 与字典有关的方法 158
6.1.5 字典推导式 161
6.2 默认字典和有序字典 163
6.2.1 默认字典 163
6.2.2 有序字典 165
6.3 集合 168
6.3.1 什幺是哈希 169
6.3.2 创建集合对象 170
6.3.3 集合的相关操作 171
6.3.4 集合的数学计算 173
6.3.5 集合推导式 179
章节回顾 179
课后习题 180
第7章 函式 182
7.1 认识函式 182
7.1.1 Python的内置函式 183
7.1.2 函式基础 186
7.1.3 定义函式 186
7.1.4 调用函式 187
7.1.5 返回值 188
7.2 参数的基本机制 190
7.2.1 参数如何传递 191
7.2.2 位置参数有顺序性 193
7.2.3 默认参数值 193
7.2.4 关键字参数 197
7.3 可长可短的参数行 199
7.3.1 形式参数的*表达式 199
7.3.2 **表达式与字典配合 202
7.3.3 *运算符拆分可叠代对象 205
7.3.4 **运算符拆分字典对象 207
7.4 更多函式的讨论 211
7.4.1 作用域 211
7.4.2 函式是第一等“公民” 214
7.4.3 局部函式与闭包 216
7.4.4 lambda函式 218
7.4.5 递归 223
章节回顾 225
课后习题 226
第8章 模组与函式馆 230
8.1 导入模组 230
8.1.1 命令行的参数列表 230
8.1.2 import/as语句 232
8.1.3 from/import语句 232
8.1.4 命名空间与dir()函式 233
8.2 使用模组 234
8.2.1 模组搜寻路径 234
8.2.2 自定义模组 235
8.2.3 reload()函式 238
8.3 认识函式馆 240
8.3.1 随机数 240
8.3.2 pprint模组让列印更有看头 243
8.4 处理时间与日期 245
8.4.1 获取时间戳的time模组 245
8.4.2 提供日期和时间的datetime模组 249
8.4.3 calendar模组 257
章节回顾 260
课后习题 260
第9章 面向对象基础 263
9.1 认识面向对象 263
9.1.1 对象具有属性和方法 264
9.1.2 类是对象的蓝图 264
9.1.3 抽象化概念 265
9.2 类与对象 265
9.2.1 定义类 266
9.2.2 先构造再初始化对象 270
9.2.3 设定、检查对象的属性 274
9.2.4 处理对象的特殊方法 275
9.3 类与修饰器 278
9.3.1 类也有属性 278
9.3.2 认识修饰器 279
9.3.3 类修饰器 284
9.3.4 类方法和静态方法 288
9.4 重载运算符 290
9.4.1 重载算术运算符 290
9.4.2 对重载加号运算符做更多了解 291
9.4.3 重载比较大小的运算符 295
章节回顾 296
课后习题 297
第10章 浅谈继承机制 299
10.1 认识继承 299
10.1.1 与继承有关的名词 299
10.1.2 继承概念 299
10.1.3 特化和泛化 300
10.1.4 组合 301
10.2 继承机制 301
10.2.1 产生继承 301
10.2.2 子类覆盖父类的方法 306
10.2.3 以特性存取属性 309
10.3 抽象类与多态 313
10.3.1 定义抽象类 313
10.3.2 多态 314
10.3.3 组合 316
章节回顾 317
课后习题 318
第11章 异常处理机制 320
11.1 什幺是异常 320
11.1.1 程式错误 320
11.1.2 引发异常 321
11.1.3 内置的Exception类 321
11.2 异常处理情况 325
11.2.1 设定捕捉器 325
11.2.2 try语句究竟是如何工作的 328
11.2.3 try/else语句 329
11.2.4 try/finally语句 330
11.3 以程式抛出异常 332
11.3.1 raise语句引发异常 332
11.3.2 assert语句 335
11.3.3 用户自定义异常处理 336
章节回顾 338
课后习题 338
第12章 数据流与档案 340
12.1 认识io模组 340
12.1.1 io模组提供了什幺 340
12.1.2 io模组提供的方法 341
12.1.3 TextIOBase类 343
12.2 文本档案的读和写 346
12.2.1 档案和指定模式 346
12.2.2 with/as语句 350
12.2.3 读取文本档案 351
12.2.4 浅谈文字编码 353
12.3 二进制数据 356
12.3.1 认识byte与bytearray 356
12.3.2 struct模组与二进制数据 357
12.4 文本档案并非只有文字 359
12.4.1 CSV格式 360
12.4.2 JSON格式 361
章节回顾 364
课后习题 364
第13章 GUI 366
13.1 Python GUI 366
13.1.1 GUI相关软体包 366
13.1.2 认识tkinter软体包 367
13.1.3 编写一个简单的视窗程式 369
13.2 管理版面布局 370
13.2.1 Frame为容器 371
13.2.2 版面布局——pack()方法 374
13.2.3 grid()方法用行、列决定位置 377
13.2.4 用坐标定位的place()方法 378
13.3 处理文字的组件 379
13.3.1 Label组件 379
13.3.2 Entry接收单行文字 381
13.3.3 Text接收多行文字 382
13.3.4 Button组件 384
13.4 选项组件 386
13.4.1 Checkbutton组件 386
13.4.2 Radiobutton组件 388
章节回顾 389
课后习题 390
第14章 GUI其他组件 392
14.1 对话框 392
14.1.1 messagebox组件 392
14.1.2 档案对话框 396
14.1.3 提供颜色的colorchooser 399
14.1.4 简易对话框 401
14.2 选单与事件处理 403
14.2.1 使用Menu组件创建选单 403
14.2.2 事件的触发 408
14.2.3 事件的处理 410
14.2.4 产生快捷选单 412
14.3 Canvas绘製图形 413
14.3.1 认识Canvas组件 414
14.3.2 用滑鼠绘製线条 415
14.3.3 绘製几何图形 417
章节回顾 418
课后习题 419
第15章 Django与Web 421
15.1 认识Django软体包 421
15.1.1 Web相关名词 421
15.1.2 安装Django 422
15.1.3 创建Django的Web项目 422
15.1.4 配置档案settings.py 425
15.2 视图、URL与简单模板 426
15.2.1 浅谈正则表达式 426
15.2.2 第一个视图程式 427
15.2.3 第二个视图程式 431
15.2.4 使用模板 433
15.3 模型与资料库 435
15.3.1 建立模型 435
15.3.2 从数据表读取数据 437
章节回顾 438
课后习题 439