首页>参考读物>计算机科学与技术>软件与程序设计

Python 3.x入门到应用实践
作者 : 赵军 等编著
出版日期 : 2019-04-19
ISBN : 978-7-111-62123-2
定价 : 79.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 408
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

本书是一本结合大量范例程序介绍Python各种语法的教材,非常适合想对Python程序设计语言有完整认识的初学者。本书以浅显易懂的语言和循序渐进的方式介绍Python语言的各个核心知识:程序设计语言中基础的算法;设置和安装Python语言的运行环境;Python语言的各个基本语法——数据类型、变量与常数、表达式与运算符、流程控制、字符与字符串、函数、高级数据类型等;程序设计中更实用的主题,包括递归函数、排序算法、lambda表达式、Open Data开放数据、模块与程序包、文件与数据流、错误与异常处理、面向对象程序设计及GUI窗口程序等。

图书前言

用一句话形容近些年崛起的Python程序设计语言,那就是“无所不在、无所不能”。毫无疑问,Python已经成为最受欢迎的程序设计语言之一。在2018年9月的TIOBE排名中,Python语言已经超过了C++语言,跃升到探花的位置了,仅次于状元的Java语言和榜眼的C语言。
作为一款纯粹以自由软件方式推广的程序设计语言,Python 的语法简洁清晰,简单易用。虽然完整地支持面向对象程序设计的方方面面,但是Python并不强制程序设计人员采用面向对象的编程方式,而是可以自由地选择结构化面向过程的编程方式,也可以混合使用面向对象和面向过程的编程方式。虽然我们并不鼓励这么做,但是从这个方面足以说明Python语言的灵活性和柔韧性。再加上Python语言丰富和强大的链接库,涉及面之广令人赞叹,其中包括最新的领域——大数据分析、人工智能、机器学习、证券金融市场的量化交易等,这使它具有招牌式的第三个特性—黏合性。除了Python自由软件团体开发的各种程序和模块外,Python语言还可以把其他语言制作的各种模块轻松地“黏合”在一起,这就是它被称为“胶水语言”的黏性之源。正因为这些特性,所以不但信息产业的专业人员在使用Python语言,而且越来越多的计算机人群开始使用Python语言提高自己运用计算机的能力。行内人士见面的问候语以后也许会变成“你Python了吗?”。
本书的编写风格是教材式的,章节的组织结构与行文的叙述方式就是为了不断激发初学者在学习程序设计语言中的“好奇心”和“成就感”,避免“枯燥乏味”“望而却步”,到“勉为其难”,最终到“避之不及”的窘境。本书从一开始就避免陷于程序设计语言的语法纠结和编程注意事项的琐碎细节中,纵观全书,各个章节都是以范例程序为主线的,让学习者在动手实践中轻松掌握如何使用强大的Python 语言来解决日常的实际问题。作者在每个章节都精心选择了范例程序,每章的最后还安排和设计了上机实践演练范例程序,它们都和今天主流的网络应用息息相关。例如,图形用户界面程序的设计(范例为简易单词翻译器和简易计算器),以面向对象的方式设计的“选课和退课”程序,调用数学和绘图程序包来绘制直方图,编写网络爬虫程序从公开网站上提取股市行情的数据等,让读者直接体验掌握了一手实战必备技能之后油然而生的成就感。
本书既然是以教材的方式编写的,自然适用于大专院校作为教授程序设计课程的教科书。本书的内容有助于学生在学习程序设计语言的同时拓展程序设计实战能力。对于有意转向Python语言的专业人员来说,本书可以作为学习 Python 路途中的“北斗星”。
为了强化大家运用Python程序设计语言的动手编程能力,本书在每一章都规划了多个实用的范例程序及上机实践演练,这些精彩的范例程序包括:
 Hello World
 零用钱记账小管家
 成绩单统计小帮手
 密码验证程序不求人
 开放数据的提取与应用
 输出金字塔图形
 简易单词翻译器
 乐透投注游戏程序
 统计历年英语考试中的高频率单词
 用异常处理来控制用户输入的数值
 设计“选课和退课”程序
 用图形用户界面实现简易计算器
 直方图的绘制
 编写网络爬虫程序从公开网站上提取股市行情的数据
本书的范例程序可以登录机械工业出版社华章分社网站(www.hzbook.com)下载,先搜索到本书,然后在页面上的“资料下载”模块下载即可。
另外,对于各类开源项目、程序包和模块等,可以从网站https://pypi.org/获取。当然,它的核心网站为https://www.python.org/,其中的内容更加包罗万象。
本书主要由赵军编著,同时参与编写工作的还有王国春、施研然、王然、孙学南等。如果读者在学习过程中遇到无法解决的问题,或者对本书有意见或建议,可以通过邮箱booksaga@126.com与编者联系。
最后祝大家学习顺利,为Python自由软件社区添砖加瓦,同时让Python语言成为自己职业生涯的“开山之斧”。

资深架构师 赵军
2019年1月

上架指导

计算机\程序设计

封底文字


· 本书以丰富的范例讲解Python程序的编写、Python运行环境及其常用程
序包的安装和使用。

· 先讲解基础的算法与流程图,再介绍基本语法与高级编程概念,由浅入深
地学习Python程序设计。

· 将模块与程序包运用于多个实用的范例程序中,并上机实战演练,强化读
者对程序设计语言的实际运用能力,帮助读者轻松掌握Python程序设计。

实用且精彩的范例程序:
零用钱记账小管家
成绩单统计小帮手
密码验证程序不求人
开放数据的提取与应用
输出金字塔图形
简易单词翻译器
乐透投注游戏程序
统计历年英语考试中的高频率单词
用异常处理来控制用户输入的数值
设计“选课和退课”程序
用图形用户界面实现简易计算器
直方图的绘制
编写网络爬虫程序从公开网站上提取股市行情的数据

图书目录

前言
第1章 Python简介与建立开发环境 1
1.1 Python简介 3
1.2 程序设计语言与程序设计 5
1.2.1 程序设计语言简介 6
1.2.2 算法与程序设计 7
1.2.3 流程图 9
1.2.4 程序设计流程简介 10
1.3 Python的应用 11
1.3.1 Web开发框架 11
1.3.2 数字科技集成开发 12
1.4 建立Python开发环境 15
1.4.1 下载Anaconda程序包 16
1.4.2 安装Anaconda 17
1.5 Python编写工具 20
1.5.1 “命令提示符”窗口 20
1.5.2 Spyder编辑器 22
1.5.3 IPython命令窗口 25
1.6 print输出指令 27
1.7 Python程序编写风格 28
1.7.1 编码声明 30
1.7.2 程序注释 32
1.7.3 指令的分行和合并 32
1.8 上机实践演练—Hello World 33
重点回顾 35
课后习题 37
第2章 数据类型、变量与常数 39
2.1 变量命名与赋值 40
2.1.1 变量声明与赋值 40
2.1.2 变量命名规则 41
2.1.3 静态类型与动态类型 43
2.2 Python的数值数据类型 44
2.2.1 整数 44
2.2.2 浮点数 45
2.2.3 布尔值 46
2.3 常数 47
2.4 格式化输入输出功能 47
2.4.1 格式化输出 47
2.4.2 输入函数:input() 50
2.5 数据类型转换 51
2.6 上机实践演练—零用钱记账小管家 52
2.6.1 范例程序说明 52
2.6.2 程序代码说明 53
重点回顾 53
课后习题 54
第3章 表达式与运算符 56
3.1 算术运算符 57
3.2 赋值运算符 59
3.3 比较运算符 62
3.4 逻辑运算符 63
3.5 位运算符 66
3.6 位位移运算符 68
3.7 运算符的优先级 70
3.8 上机实践演练—成绩单统计小帮手 71
3.8.1 范例程序说明 71
3.8.2 读取CSV文件 72
3.8.3 程序代码说明 74
重点回顾 77
课后习题 78
第4章 流程控制结构 80
4.1 认识流程控制 81
4.1.1 顺序结构 81
4.1.2 选择结构 81
4.1.3 循环结构 82
4.2 选择流程控制 82
4.2.1 if...else条件语句 82
4.2.2 多重选择 85
4.2.3 嵌套if 87
4.3 循环 88
4.3.1 while循环 89
4.3.2 for循环 90
4.3.3 嵌套循环 92
4.4 continue指令和break指令 94
4.4.1 break指令 94
4.4.2 continue指令 95
4.5 上机实践演练—密码验证程序不求人 96
4.5.1 范例程序说明 96
4.5.2 程序代码说明 96
重点回顾 97
课后习题 98
第5章 字符串的处理 100
5.1 创建字符串 101
5.2 认识转义字符 102
5.3 参数格式化输出 103
5.4 字符串下标与切片 106
5.4.1 通过下标值获取某个字符 106
5.4.2 通过切片读取某段字符串 106
5.4.3 调用split ()方法分割字符串 107
5.5 字符串的常用运算符 109
5.5.1 比较运算符 110
5.5.2 in与not in运算符 110
5.6 字符串的常用函数与方法 110
5.6.1 计算字符串的长度—len()函数 111
5.6.2 与字母大小写有关的方法 111
5.6.3 搜索特定字符串出现的次数—count() 112
5.6.4 删除字符串左右两边特定的字符—strip()、lstrip()、rstrip() 113
5.6.5 字符串替换—replace() 113
5.6.6 查找字符串—find()与index() 114
5.6.7 startswith()方法与endswith()方法 115
5.7 上机实践演练—开放数据的提取与应用 116
5.7.1 什么是开放数据 116
5.7.2 获取开放数据 117
5.7.3 范例程序说明 119
5.7.4 程序代码说明 120
重点回顾 123
课后习题 124
第6章 函数 126
6.1 认识函数 127
6.1.1 定义函数 127
6.1.2 调用函数 128
6.1.3 函数的返回值 130
6.2 Python的参数传递机制 132
6.3 变量的作用域 133
6.4 递归函数 134
6.4.1 递归的定义 134
6.4.2 斐波那契数列 136
6.4.3 汉诺塔问题 137
6.5 认识排序 141
6.5.1 选择排序法 141
6.5.2 冒泡排序法 144
6.5.3 排序函数—sorted() 147
6.6 lambda表达式 148
6.7 上机实践演练—输出金字塔图形 149
6.7.1 范例程序说明 149
6.7.2 程序代码说明 150
重点回顾 153
课后习题 154
第7章 高级数据类型 156
7.1 容器数据类型的比较 157
7.2 列表 157
7.2.1 创建列表 158
7.2.2 列表的常用内建函数 159
7.2.3 常用的列表运算符 161
7.2.4 列表的常用方法 162
7.2.5 用del删除变量与元素 164
7.2.6 二维和多维列表 164
7.3 元组 166
7.3.1 创建元组 167
7.3.2 元组的内建函数 167
7.3.3 元组的运算符 168
7.3.4 解包与交换 169
7.4 字典 170
7.4.1 创建字典 170
7.4.2 字典的基础操作 171
7.4.3 适用于字典的函数 172
7.4.4 适用于字典的运算符 172
7.4.5 适用于字典的处理方法 172
7.5 集合 176
7.5.1 创建集合 176
7.5.2 适用于集合的运算符 176
7.5.3 适用于集合的方法 177
7.6 字典综合范例—简易单词翻译器(图形用户界面) 178
7.6.1 范例程序说明 179
7.6.2 程序代码说明 179
重点回顾 182
课后习题 183
第8章 模块与程序包 185
8.1 导入模块 186
8.1.1 导入整个模块 187
8.1.2 替模块取别名 188
8.1.3 只导入特定的函数 189
8.2 自定义模块 191
认识Python的__name__属性 192
8.3 实用的内建模块与在线帮助 193
8.3.1 os模块 194
8.3.2 sys模块 195
8.3.3 random模块 197
8.3.4 datetime模块 198
8.3.5 查看模块的路径与文件名 201
8.3.6 程序包在线帮助文件 202
8.4 第三方程序包 204
8.4.1 使用pip管理程序安装程序包 205
8.4.2 从PyPI网站安装程序包 206
8.5 上机实践演练—乐透投注游戏程序 207
8.5.1 范例程序说明 207
8.5.2 程序代码说明 208
重点回顾 211
课后习题 212
第9章 文件的存取与处理 214
9.1 认识文件 215
9.1.1 文件的种类 215
9.1.2 认识文件与目录 215
9.1.3 绝对路径与相对路径 216
9.2 文件的读与写 216
9.2.1 文件的写入 217
9.2.2 文件的读取 219
9.3 二进制文件 224
9.4 综合范例程序—统计历年英语考试中的高频率单词 225
重点回顾 226
课后习题 228
第10章 错误与异常处理 229
10.1 程序的错误类型 230
10.1.1 语法错误 230
10.1.2 运行时错误 231
10.1.3 逻辑错误 232
10.2 认识异常 233
10.2.1 异常的类型 233
10.2.2 异常处理的时机 234
10.3 异常处理方式 235
10.3.1 异常处理的语法 235
10.3.2 用raise抛出指定的异常 238
10.4 综合范例程序—用异常处理来控制用户输入的数值 239
重点回顾 240
课后习题 241
第11章 面向对象程序设计 243
11.1 认识面向对象 244
11.1.1 类与对象 244
11.1.2 面向对象的特点 245
11.1.3 面向对象程序设计中的关键术语 246
11.2 Python的类与对象 247
11.2.1 定义类 247
11.2.2 类实例化 247
11.2.3 将对象初始化的__init__()方法 250
11.2.4 匿名对象 251
11.2.5 私有属性与方法 252
11.3 继承 253
11.3.1 单一继承与多重继承 254
11.3.2 覆盖 258
11.3.3 继承相关函数 259
11.3.4 多态 260
11.3.5 合成 261
11.4 上机实践演练—设计“选课和退课”程序 262
重点回顾 263
课后习题 264
第12章 开发图形用户界面的窗口程序 266
12.1 GUI tkinter程序包 267
12.1.1 导入tkinter程序包 267
12.1.2 创建主窗口 267
12.1.3 布局方式 268
12.2 图形用户界面控件 271
12.2.1 标签控件 271
12.2.2 按钮控件 273
12.2.3 文本编辑控件 275
12.2.4 多行文字控件 277
12.2.5 单选按钮控件 278
12.2.6 复选按钮控件 279
12.2.7 滚动条控件 281
12.3 对话框 283
12.3.1 消息框 283
12.3.2 简单型对话框 284
12.3.3 文件对话框 286
12.3.4 调色板选择框 288
12.4 菜单 290
12.5 绘制图形 295
12.5.1 加入位图图像 295
12.5.2 用Canvas控件绘制几何图形 296
12.6 上机实践演练—用图形用户界面实现简易计算器 297
12.6.1 创建主窗口 298
12.6.2 版面布局 298
12.6.3 创建标签、文本编辑与按钮控件 299
12.6.4 加入事件处理函数 301
12.6.5 捕获错误信息 302
重点回顾 304
课后习题 306
第13章 数组与科学计算 308
13.1 NumPy简介 309
13.2 一维数组的应用 309
13.2.1 一维数组的创建 310
13.2.2 ndarray类型的属性 311
13.2.3 一维数组的其他创建方式 311
13.2.4 数组的输出 313
13.2.5 数组的基本操作 314
13.2.6 通用函数 314
13.2.7 数组的下标值与切片运算 316
13.3 二维数组的创建与应用 317
13.3.1 二维数组的创建 318
13.3.2 矩阵相加 319
13.3.3 矩阵相乘 321
13.3.4 转置矩阵 322
13.4 上机实践演练—直方图的绘制 323
重点回顾 325
课后习题 326
第14章 数据提取与网络爬虫 328
14.1 数据提取前的准备工作 329
14.1.1 认识URI与URL 331
14.1.2 用urllib.parse模块解析URL 332
14.2 我的第一个网络爬虫程序 336
14.2.1 网页构成三要素 336
14.2.2 查看网页源代码 337
14.2.3 用urllib.request获取网页内容 341
14.2.4 实用的requests程序包 345
14.3 用Beautiful Soup 4进行网页解析 354
14.3.1 首选Tag 355
14.3.2 BeautifulSoup常用的属性和方法 359
14.3.3 BeautifulSoup程序包的应用范例 365
重点回顾 370
课后习题 371
第15章 课后习题参考答案 374
第1章 课后习题参考答案 374
第2章 课后习题参考答案 376
第3章 课后习题参考答案 377
第4章 课后习题参考答案 379
第5章 课后习题参考答案 380
第6章 课后习题参考答案 382
第7章 课后习题参考答案 384
第8章 课后习题参考答案 386
第9章 课后习题参考答案 387
第10章 课后习题参考答案 388
第11章 课后习题参考答案 389
第12章 课后习题参考答案 390
第13章 课后习题参考答案 391
第14章 课后习题参考答案 392

参考读物推荐
作者: (美)Steven Holzner 著
作者: (美)Doug Hellmann
作者: (美)Zigurd Mednieks, Laird Dornin, G. Blake Meike, Masumi Nakamura 著