欢迎来到中国铁道出版社有限公司官网!
$itImage.title$

Python程序设计应用教程 (第2版)

书      号:9787113273439

丛  书 名:全国高等院校计算机基础教育“十三五”规划教材

作      者:夏敏捷,杨关,张西广

译      者:

开      本:16开

装      帧:平装

正文语种:汉文

出  版 社:中国铁道出版社有限公司

定      价:49.8

  • 内容简介

    本书以Python 3.7为编程环境,从基本的程序设计思想入手,逐步展开Python语言教学,是一本面向广大编程学习者的程序设计类图书。全书共分两篇:基础篇主要介绍Python语言概述、Python语法基础、Python控制语句、Python函数与模块、Python文件、面向对象程序设计、Tkinter图形界面设计、Python数据库应用、网络编程和多线程、函数式编程等;提高篇主要介绍Python数据分析、Python爬取网页信息、Python图像处理、科学计算和可视化应用以及数据挖掘和机器学习。
    本书最大的特色在于以游戏开发案例为导向,使读者在学习过程中充满乐趣,在游戏设计开发过程中不知不觉地学会Python编程技术和技巧,学会面向对象的设计技术,了解程序设计的所有相关内容。此外,读者还可扫描二维码,通过微视频的形式学习书中重点、难点内容。
    本书适合作为高等院校计算机及其相关专业的教材,也可作为程序设计人员和游戏编程爱好者的自学参考书。
  • 前言

    Python语言从20世纪90年代初诞生至今,已广泛应用于处理系统管理任务和科学计算,是最受欢迎的程序设计语言之一。
    学习编程是工程专业学生教育的重要内容,而学习编程是了解计算机科学本质的方法。计算机科学对现代社会产生了毋庸置疑的影响。Python是新兴程序设计语言,是一种解释型、面向对象、动态数据类型的高级程序设计语言。由于Python语言具有简洁、易读以及可扩展性,用Python做科学计算的研究机构日益增多。最近几年,随着社会需求逐渐增加,许多高校纷纷开设Python程序设计课程。
    本书作者长期从事程序设计语言教学与应用开发,在工作过程中,积累了丰富的教学经验,了解在学习编程时需要学习什么内容才能提高Python开发能力,以最少的时间投入达到最好的学习效果。
    本书内容:
    基础篇 第1~10章,主要讲解Python的基础知识和面向对象编程基础知识、Tkinter图形界面设计、Python数据库应用、网络编程和多线程等知识,部分章节还给出了应用本章知识点的游戏案例,如扑克牌、猜数字、网络五子棋游戏等。本篇将第一版的Python操作XML一章删除,增加了Python函数式编程一章。同时补充了字典应用案例和关灯图形游戏。
    提高篇 第11~15章,介绍Python最流行的第三方库,实现网页爬取、图像处理、数据分析、科学计算和可视化应用以及数据挖掘和机器学习。本篇考虑实用性,将第一版的Python游戏设计一章删除,增加一章介绍现在流行的Python强大数据分析库Pandas。
    本书特点:
    (1)内容编排不片面求全、求深,而是考虑零基础读者的接受能力;语言语法介绍以够用、实用为原则,选择Python中必备、实用的知识进行讲解,强化程序思维能力培养。
    (2)基础篇选取的游戏案例贴近生活,以提高读者学习兴趣。
    (3)提高篇对Python的知识进行拓展,让读者进一步领会Python的应用领域,同时解决一些实际问题。
    (4)对涉及的源代码进行了详细解释,以便于理解。
    (5)书中重点、难点和精彩部分制作成微视频,读者可通过扫描二维码学习。
    需要说明的是,学习编程是一个实践过程,动手编写、调试程序是至关重要的。通过实际的编程和积极的思考,读者可以很快地积累许多宝贵的编程经验,最终达到熟练编程的目的。
    本书由夏敏捷(中原工学院)主持编写,宋宝卫(郑州轻工业大学)编写第1~4章和第9~12章,郭永锋(河南牧业经济学院)编写第5章和第7章,周雪燕编写第8章,张锦歌(河南工业大学)编写第14章,其余章节由夏敏捷、杨关和张西广编写。
    在本书的编写过程中,为确保内容的正确性,参阅了很多资料,并且得到湖北工业大学、浙江科技学院、成都电子科技大学、武汉商学院、中国人民公安大学、北京联合大学、黄淮学院、南阳师范学院、大庆师范学院、广东交通职业技术学院、华南理工大学、湖北生态工程职业技术学院、汕头职业技术学院、商丘工学院、郑州航空管理学院、辽宁机电职业技术学院、内蒙古财经大学等教材使用院校老师大力支持,在此谨向他们表示衷心的感谢。
    由于编著者水平有限,书中难免有疏漏和不足之处,敬请广大读者批评指正,在此表示感谢。编者的电子邮件地址是xmj@zut.edu.cn。


    编著者
    2020年7月
  • 目录

    基 础 篇
    第1章 Python语言概述 2
    1.1 Python语言简介 2
    1.2 安装与运行Python环境 3
    1.2.1 安装Python 4
    1.2.2 运行Python 4
    1.3 Python开发环境IDLE简介 5
    1.3.1 IDLE的启动 5
    1.3.2 利用IDLE创建Python程序 6
    1.3.3 IDLE常用编辑功能 6
    1.3.4 在IDLE中运行和调试
    Python程序 7
    1.3.5 在PyCharm中运行和调试
    Python程序 8
    1.4 Python基本输入/输出 10
    1.4.1 Python基本输入 10
    1.4.2 Python基本输出 11
    1.5 Python代码规范 12
    1.6 使用帮助 13
    习题 14
    第2章 Python语法基础 15
    2.1 Python数据类型 15
    2.1.1 数值类型 15
    2.1.2 字符串 15
    2.1.3 布尔类型 17
    2.1.4 空值 18
    2.1.5 Python类型转换 18
    2.2 常量和变量 19
    2.2.1 变量 19
    2.2.2 常量 21
    2.3 运算符与表达式 21
    2.3.1 运算符 21
    2.3.2 表达式 26
    2.4 序列的数据结构 27
    2.4.1 列表 27
    2.4.2 元组 30
    2.4.3 字典 33
    2.4.4 集合 35
    习题 38
    第3章 Python控制语句 39
    3.1 选择结构 39
    3.1.1 if语句 39
    3.1.2 if…else语句 40
    3.1.3 if…elif…else语句 41
    3.1.4 pass语句 43
    3.2 循环结构 43
    3.2.1 while语句 43
    3.2.2 for语句 45
    3.2.3 continue和break语句 47
    3.2.4 循环嵌套 47
    3.2.5 列表生成式 50
    3.3 常用算法及应用实例 51
    3.3.1 累加与累乘 51
    3.3.2 求最大数和最小数 51
    3.3.3 枚举法 52
    3.3.4 递推与迭代 53
    3.4 游戏初步—— 猜单词游戏 54
    习题 56
    第4章 Python函数与模块 58
    4.1 函数的定义和使用 58
    4.1.1 函数的定义 58
    4.1.2 函数的使用 59
    4.1.3 lambda表达式 60
    4.1.4 函数的返回值 61
    4.2 函数参数 62
    4.2.1 函数形参和实参的区别 62
    4.2.2 参数的传递 62
    4.2.3 函数参数的类型 65
    4.2.4 变量的作用域 67
    4.3 闭包和函数的递归调用 68
    4.3.1 闭包 68
    4.3.2 函数的递归调用 69
    4.4 内置函数 72
    4.4.1 数学运算函数 72
    4.4.2 字符串函数 72
    4.4.3 反射函数 74
    4.4.4 I/O函数 74
    4.5 模块 75
    4.5.1 import导入模块 75
    4.5.2 定义自己的模块 76
    4.5.3 time模块 77
    4.5.4 calendar模块 78
    4.5.5 random模块 79
    4.5.6 math模块和cmath模块 80
    4.6 游戏初步—— 发牌程序
    (控制台版) 81
    4.7 函数和字典综合应用案例
    —— 通信录程序 83
    习题 85
    第5章 Python文件 87
    5.1 文件 87
    5.2 文件的访问 88
    5.2.1 打开(建立)文件 88
    5.2.2 读取文本文件 90
    5.2.3 写文本文件 91
    5.2.4 文件内移动 92
    5.2.5 文件的关闭 94
    5.2.6 二进制文件的读/写 94
    5.3 文件夹的操作 96
    5.3.1 当前工作目录 96
    5.3.2 目录操作 97
    5.3.3 文件操作 98
    5.4 文件应用案例—— 游戏地图
    存储 100
    5.4.1 地图写入文件 101
    5.4.2 从地图文件读取信息 101
    5.5 文件应用案例—— 词频统计 102
    习题 104
    第6章 面向对象程序设计 105
    6.1 面向对象程序设计基础 105
    6.2 类和对象 106
    6.2.1 定义和使用类 106
    6.2.2 构造函数_ _init_ _() 107
    6.2.3 析构函数 108
    6.2.4 实例属性和类属性 108
    6.2.5 私有成员与公有成员 111
    6.2.6 方法 112
    6.3 类的继承和多态 113
    6.3.1 类的继承 113
    6.3.2 类的多继承 115
    6.3.3 方法重写 115
    6.3.4 多态 116
    6.3.5 运算符重载 118
    6.4 面向对象应用案例—— 扑克牌类设计 118
    6.4.1 关键技术—— random模块 119
    6.4.2 程序设计的思路 121
    习题 124
    第7章 Tkinter图形界面设计 125
    7.1 Python图形开发库 125
    7.1.1 创建Windows窗口 125
    7.1.2 几何布局管理器 126
    7.2 常用Tkinter组件的使用 129
    7.2.1 Tkinter组件 129
    7.2.2 标准属性 130
    7.2.3 Label标签组件 131
    7.2.4 Button按钮组件 132
    7.2.5 单行文本框(Entry)和多行
    文本框(Text) 134
    7.2.6 Listbox列表框组件 135
    7.2.7 单选按钮(Radiobutton)
    和复选框(Checkbutton) 137
    7.2.8 菜单组件(Menu) 140
    7.2.9 对话框 143
    7.2.10 消息窗口(消息框) 146
    7.2.11 Frame框架组件 147
    7.2.12 Scrollbar滚动条组件 149
    7.3 图形绘制 150
    7.3.1 Canvas画布组件 150
    7.3.2 Canvas上的图形对象 151
    7.4 Tkinter字体 160
    7.4.1 通过元组表示字体 160
    7.4.2 通过Font对象表示字体 161
    7.5 Python事件处理 162
    7.5.1 事件类型 162
    7.5.2 事件绑定 163
    7.5.3 事件处理函数 164
    7.6 图形界面应用案例—— 开发
    猜数字游戏 166
    7.7 图形界面应用案例—— 发牌
    程序(窗体版) 168
    7.8 图形界面应用案例—— 关灯
    游戏 170
    习题 171
    第8章 Python数据库应用 173
    8.1 数据库基础 173
    8.1.1 数据库概念 173
    8.1.2 关系型数据库 174
    8.1.3 数据库和Python接口程序 174
    8.2 结构化查询语言(SQL) 175
    8.2.1 数据表的建立和删除 175
    8.2.2 查询语句 175
    8.2.3 添加记录语句 177
    8.2.4 更新语句 177
    8.2.5 删除记录语句 178
    8.3 SQLite数据库简介 178
    8.3.1 SQLite数据库 178
    8.3.2 SQLite3的数据类型 178
    8.3.3 SQLite3的函数 179
    8.3.4 SQLite3的模块 180
    8.4 Python的SQLite3数据库
    编程 180
    8.4.1 访问数据库的步骤 180
    8.4.2 创建数据库和表 182
    8.4.3 数据库的插入、更新和删除
    操作 182
    8.4.4 数据库表的查询操作 183
    8.4.5 数据库使用实例 183
    8.5 Python数据库应用案例
    —— 智力问答游戏 186
    习题 189
    第9章 网络编程和多线程 190
    9.1 网络编程基础 190
    9.1.1 TCP/IP协议简介 190
    9.1.2 IP协议 190
    9.1.3 TCP和UDP协议 191
    9.1.4 端口 191
    9.1.5 Socket 191
    9.2 TCP编程 194
    9.2.1 TCP客户端编程 194
    9.2.2 TCP服务器端编程 196
    9.3 UDP编程 199
    9.4 多线程编程 200
    9.4.1 进程和线程 200
    9.4.2 创建线程 201
    9.4.3 线程同步 205
    9.4.4 定时器Timer 206
    9.5 网络编程案例—— Python
    网络五子棋游戏 207
    9.5.1 设计思路 207
    9.5.2 服务器端编程 210
    9.5.3 客户端编程 214
    习题 217
    第10章 函数式编程 218
    10.1 高阶函数 218
    10.2 Python函数式编程
    常用的函数 219
    10.3 迭代器 222
    10.4 普通编程方式与函数式
    编程的对比 223
    习题 223
    提 高 篇
    第11章 Python数据分析 226
    11.1 Python Data Analysis Library
    (Pandas) 226
    11.1.1 Series 228
    11.1.2 DataFrame 229
    11.2 Pandas统计功能 236
    11.2.1 基本统计 236
    11.2.2 分组统计 237
    11.3 Pandas合并/连接和排序 238
    11.3.1 合并/连接 238
    11.3.2 排序 240
    11.4 Pandas筛选和过滤功能 243
    11.4.1 筛选 243
    11.4.2 按筛选条件进行汇总 245
    11.4.3 过滤 245
    11.5 Pandas数据导入/导出 246
    11.5.1 导入CSV文件 246
    11.5.2 读取其他格式数据 247
    11.5.3 导出Excel文件 247
    11.5.4 导出CSV文件 247
    习题 248
    第12章 Python爬取网页信息 249
    12.1 相关HTTP协议知识 249
    12.2 urllib库 250
    12.2.1 urllib库简介 250
    12.2.2 urllib库的基本使用 250
    12.3 BeautifulSoup库 256
    12.3.1 BeautifulSoup库概述 256
    12.3.2 BeautifulSoup库的四大
    对象 257
    12.3.3 BeautifulSoup库操作解析
    文档树 259
    12.4 网络爬虫实战—— Python
    爬取新浪国内新闻 262
    习题 265
    第13章 Python图像处理 266
    13.1 Python图像处理类库(PIL) 266
    13.2 PIL库的image类 268
    13.2.1 Image类的属性 268
    13.2.2 转换图像格式 269
    13.2.3 创建缩略图 270
    13.2.4 复制和粘贴图像区域 270
    13.2.5 调整尺寸和旋转 270
    13.2.6 转换成灰度图像 270
    13.2.7 对像素进行操作 271
    13.3 PIL的ImageFilter和
    ImageEnhance类 271
    13.3.1 ImageFilter类 271
    13.3.2 ImageEnhance类 273
    13.4 PIL的ImageDraw类 273
    13.4.1 ImageDraw类的基础
    知识 273
    13.4.2 ImageDraw类的方法 274
    13.5 用Python生成验证码图片 276
    习题 278
    第14章 科学计算和可视化应用 279
    14.1 NumPy库的使用 279
    14.1.1 NumPy数组 279
    14.1.2 NumPy数组的算术运算 283
    14.1.3 NumPy数组的形状操作 285
    14.1.4 文件存取数组内容 286
    14.1.5 NumPy的图像数组 287
    14.2 Matplotlib绘图可视化 289
    14.2.1 Matplotlib.pyplot模块
    ——快速绘图 289
    14.2.2 绘制条形图、饼状图、
    散点图等 295
    14.2.3 交互式标注 298
    习题 299
    第15章 数据挖掘和机器学习 300
    15.1 Python机器学习库
    Sklearn的安装 300
    15.2 Python机器学习库
    Sklearn的应用 301
    15.2.1 训练数据集—— 鸢尾花 302
    15.2.2 sklearn库的聚类 303
    15.2.3 sklearn库的分类 304
    15.2.4 sklearn库的回归 306
    15.2.5 鸢尾花相关的分类 307
    习题 308
    参考文献 308
  • 作者介绍

  • 编辑推荐

  • 书评书荐

  • 附件下载

图书推荐