教育>高职高专>计算机类
Python实用教程(含典型案例视频分析)

Python实用教程(含典型案例视频分析)"

作者:郑阿奇
ISBN:9787121361616
定价:¥69.0
字数:672千字
页数:400
出版时间:2019-03
开本:16开
版次:01-01
装帧:
出版社:电子工业出版社
简介

本书共五个部分。第一部分(前10章)为基础篇,介绍Python概述、语言基础、分支和循环控制、序列(列表、元组、集合、字典)、数组和矩阵、字符串和正则表达式、函数和模块、面向对象编程、文件操作和异常处理等内容。第二部分(后10章)为应用篇,介绍二维图表、三维图像、声频、视频;Python操作的数据库介绍MySQL、PostgreSQL、SQL Server、Oracle、SQLite、MongoDB等内容均完成了应用实例;Office组件介绍Word、Excel和PowerPoint的内容,并有综合应用实例;介绍在C++中如何使用Python,以及在Python中如何使用C++。第三部分为实验。第四部分为习题。第五部分为附录,提供Python调试及其实例。本书将命令和编程结合,编程和常用算法结合,学习和应用结合;配套教程、习题、实验等,并各有侧重、相互配合;提供配套教学视频,介绍和分析Python实例,可更好地理解Python及其应用。同时,通过网络配套提供所有实例源程序(.py)及其工程、数据库文件、教学课件,以方便教学和学生模仿。本书既可作为大学本科和高职高专院校有关课程教材,也可作为Python学习、培训讲义。

前言

前 言 2017年,在IEEE Spectrum杂志发布编程语言排行榜,排在前位的分别为Python、C、Java和C++,这让Python粉丝非常兴奋。 2017年,教育部考试中心发布了《关于全国计算机等级考试(NCRE)体系调整的通知》(教试中心函〔2017〕205号),决定自2018年9月起,在全国计算机等级考试(二级)中加入“Python语言程序设计”科目。与Python热对应,关于Python的书籍也不少,其中一般专题的书多,国外翻译的书多,但非常适合作为教材的却并不多。根据这个基本情况,为初学者提供一个简单方便的学习讲义,为广大高校师生提供一个教学方便的教程,成为我们努力的目标,这当然需要接受市场的检验。 本书共五个部分。第一部分(前10章)为基础篇,介绍Python概述、语言基础、分支和循环控制、序列(列表、元组、集合、字典)、数组和矩阵、字符串和正则表达式、函数和模块、面向对象编程、文件操作和异常处理等内容。第二部分(后10章)为应用篇,介绍二维图表、三维图像、声频、视频等内容;Python操作的数据库介绍MySQL、PostgreSQL、SQL Server、Oracle、SQLite、MongoDB等内容均完成了应用实例;Office组件介绍Word、Excel和PowerPoint的内容,并有综合应用实例;另外,还介绍在C++中如何使用Python,以及在Python中如何使用C++的相关内容。第三部分为实验。第四部分为习题。第五部分为附录,提供Python调试及其实例。 本书有如下主要特点: (1)命令和编程结合,编程和常用算法结合。书中每一个命令均在Python3.x IDLE环境下执行过,执行结果根据情况直接显示,或者在语句后给出注释。每个程序都在PyCharm(2018版)程序设计环境下验证通过,并且一般都包含运行结果的屏幕截图。 (2)学习和应用结合。前10章是基础,并内含小应用。后10章是应用,为了方便学习,同步介绍了必备知识。这样,读者在学习Python的同时可以学到更多应用场景知识和编程方法。 (3)本书配套教程、实验、习题等各有侧重、相互配合,可作为学习、培训讲义,特别方便作为大学本/专科有关课程教材。 (4)配套提供教学视频,介绍和分析Python实例,可更好地理解Python及其应用。 (5)提供配套的网络资源,包括本书所有实例源程序(.py)及其工程,并且清楚标注出代码对应的文件名、工程名、目录名,方便读者查找。提供本书操作的数据库文件、所有章节的教学课件,方便教学和学生模仿。 本书配套资源均免费提供,需要者可通过华信教育资源网(www.hxedu.com.cn)免费下载。 本书既可作为大学本科、高职高专院校相关课程的教材和教学参考书,也可供从事Python应用系统开发的用户学习和参考。 本书由郑阿奇(南京师范大学)主编,参加编写的还有周何骏、孙德荣、王钢花、刘美芳、卢霞、秦洪林、刘博文、郑博琳、刘忠等,在此一并表示感谢! 由于编者水平有限,疏漏和错误在所难免,敬请广大师生、读者批评指正,意见和建议可反馈至编者电子邮箱easybooks@163.com。 编 者

目录

目  录 第一部分 基 础 篇 第1章 Python,掀起你的盖头来 1 1.1 Python简介 1 1.2 安装Python及其扩展库 2 1.2.1 安装Python 2 1.2.2 Python集成开发环境—IDLE 5 1.3 PyCharm开发环境的安装和设置 5 1.3.1 PyCharm的安装 6 1.3.2 PyCharm程序设计环境 9 1.3.3 一个简单的程序实例 11 1.4 扩展库的安装和使用 13 1.4.1 扩展库的安装 13 1.4.2 扩展库的导入和使用 15 1.4.3 编程环境同步 16 1.5 Python说明 16 1.5.1 程序语法规则 16 1.5.2 Python语言的执行 19 1.5.3 name属性的作用 19 第2章 Python虽神,语言基础并不特别 20 2.1 数据类型 20 2.1.1 数值 20 2.1.2 字符串与字节串 22 2.1.3 数据类型转换 23 2.1.4 类型变量 25 2.2 运算符与表达式 26 2.2.1 算术运算符及其表达式 26 2.2.2 关系运算符及其表达式 27 2.2.3 位运算符及其表达式 27 2.2.4 逻辑运算符及其表达式 28 2.2.5 字符串基本运算及其表达式 29 2.2.6 赋值运算符 30 2.2.7 与同性判断运算符 31 2.3 基本输入和输出 31 2.3.1 输出到屏幕 31 2.3.2 键盘输入 33 2.4 综合应用实例 34 第3章 这样就能控制:分支和循环 35 3.1 选择结构 35 3.1.1 if语句的三种形式 35 3.1.2 if语句的嵌套 38 3.2 循环结构 38 3.2.1 循环语句 38 3.2.2 循环控制语句 40 3.2.3 循环嵌套 41 3.3 范围和迭代器 42 3.3.1 范围 42 3.3.2 迭代器 43 3.4 综合应用举例 43 第4章 序列是什么:列元字集 46 4.1 列表:list 46 4.1.1 创建列表 46 4.1.2 索引和切片 47 4.1.3 列表的基本操作 48 4.1.4 列表方法 49 4.1.5 列表推导式 52 4.2 元组:tuple 54 4.2.1 元组的基本操作 54 4.2.2 生成器推导式 55 4.3 集合:set 56 4.3.1 集合的创建与访问 56 4.3.2 集合的基本操作符 57 4.4 字典:dict 59 4.4.1 字典的基本操作符 59 4.4.2 字典方法 60 4.5 序列 62 4.5.1 序列间的转换 62 4.5.2 常用内置函数 64 4.6 综合应用实例 67 第5章 又是数组,又是矩阵 70 5.1 数组 70 5.1.1 创建数组 70 5.1.2 元素的增加、查询、修改、 删除 71 5.1.3 分割切片 73 5.1.4 运算 73 5.1.5 条件函数 74 5.2 矩阵 75 5.2.1 创建矩阵 75 5.2.2 常用的矩阵运算 76 5.2.3 常用的矩阵求值 77 5.2.4 矩阵的分隔和合并 78 5.2.5 矩阵和数组 79 5.3 array模块数据库基本概念 80 第6章 虽是字符串,还要正则表达式 83 6.1 基本说明 83 6.1.1 字符串编码 83 6.1.2 转义字符 84 6.1.3 字符串常量 85 6.2 字符串格式化 86 6.2.1 用%符号进行格式化 86 6.2.2 用format()方法格式化 87 6.2.3 格式化的字符串常量 88 6.2.4 用template模板格式化 89 6.3 字符串常用操作 89 6.3.1 字符串创建和访问 89 6.3.2 字符串操作和判断 91 6.3.3 字符串排版和切片 93 6.3.4 综合应用实例 93 6.4 正则表达式 94 6.4.1 正则表达式元字符 94 6.4.2 正则表达式模块re 95 6.4.3 match对象和正则表达式子 模式 98 6.4.4 综合应用实例 98 第7章 代码重用和共享:函数和模块 100 7.1 Python程序结构 100 7.2 用户编写函数 101 7.2.1 函数定义与调用 101 7.2.2 函数嵌套定义 102 7.2.3 修饰器 102 7.2.4 列表推导式 103 7.3 参数传递 103 7.3.1 定长参数 104 7.3.2 可变长度参数 105 7.3.3 序列解包 105 7.4 函数嵌套与递归 106 7.5 变量作用域 107 7.5.1 局部变量 107 7.5.2 全局变量 108 7.6 lambda表达式 108 7.7 成器函数设计 110 7.8 模块 111 7.9 命名空间 112 7.9.1 命名空间的分类 112 7.9.2 命名空间的规则 113 7.10 包 113 7.10.1 包介绍 114 7.10.2 包管理工具 114 7.11 综合应用实例 115 第8章 对象需要谈一谈:面向对象编程 117 8.1 类 117 8.1.1 基本概念 117 8.1.2 类的定义与使用 118 8.1.3 数据成员 119 8.1.4 方法 120 8.1.5 属性 122 8.1.6 动态性 123 8.2 继承、多态 124 8.2.1 继承 124 8.2.2 多重继承 125 8.2.3 多态 126 8.3 运算符重载 127 第9章 信息永久保存:文件操作 129 9.1 文件及其操作 129 9.1.1 文件类型 129 9.1.2 文件的打开和关闭 130 9.2 文件操作 131 9.2.1 写入方法 131 9.2.2 读取操作方法 132 9.2.3 定位与移动 132 9.2.4 文件设备 133 9.2.5 上下文管理语句 134 9.3 序列化和反序列化 134 9.4 文件和文件夹的操作 135 9.4.1 文件操作 135 9.4.2 目录操作 135 第10章 野马不会脱缰:异常处理 137 10.1 异常的产生 137 10.2 内置异常类 137 10.3 异常处理结构 138 10.4 抛出异常 142 10.5 自定义异常 143 10.6 断言语句 143 第二部分 应 用 篇 第11章 拿起一支笔画来画去:二维图表 实例 145 11.1 单幅图表:绘制螺旋曲线实例 145 11.1.1 背景知识 145 11.1.2 实现原理 146 11.1.3 程序及分析 147 11.2 绘制多轴图表:展示初等函数实例 148 11.2.1 背景知识 148 11.2.2 实现原理 149 11.2.3 程序及分析 150 11.3 定制表轴刻度:演示摆线形成实例 152 11.3.1 背景知识 152 11.3.2 实现原理 153 11.3.3 程序及分析 153 第12章 为什么这么快:数值处理及实例 156 12.1 数组的创建 156 12.1.1 NumPy数组函数 156 12.1.2 数组维度设定 157 12.1.3 函数生成数组 158 12.2 数组的存取 159 12.2.1 基本存取方法 159 12.2.2 多维数组的存取 160 12.2.3 结构数组的存取:读取修改 学生成绩 163 12.3 ufunc函数 165 12.3.1 内置ufunc函数 165 12.3.2 自定义ufunc函数:提取任 意范围素数 166 12.3.3 ufunc函数的性能 167 12.4 综合应用实例:斐波那契法计算 黄金分割数 169 12.4.1 背景知识 169 12.4.2 算法设计 170 12.4.3 编程实现 172 第13章 进入立体世界:三维可视化实例 176 13.1 3D绘图入门:绘制圆柱体 176 13.1.1 基本概念 176 13.1.2 绘图流程 177 13.1.3 VTK绘制圆柱体 179 13.1.4 TVTK绘制圆柱体 180 13.2 TVTK绘图进阶 182 13.2.1 流水线浏览器:改变圆柱 外观 182 13.2.2 多实体场景:绘制多种几 何体 185 13.3 使用第三方模具:文件载入 “胡巴” 187 13.3.1 背景知识 187 13.3.2 程序实现 188 13.3.3 控制照相机 190 第14章 精彩纷呈:可视化科学计算实例 192 14.1 SciPy科学计算功能 192 14.1.1 数据拟合 192 14.1.2 插值优化 193 14.1.3 信号处理 194 14.2 Mayavi可视化应用 195 14.2.1 绘制空间曲面:电子衍射 图案 195 14.2.2 复杂三维图形:模拟穿越 虫洞 198 14.2.3 标量场可视化:地月系引 力场 201 14.3 综合应用实例:蝴蝶效应演示 203 14.3.1 背景知识 203 14.3.2 实现原理 204 14.3.3 程序演示 204 第15章 流行数据库世界:操作实例 208 15.1 基本原理 208 15.1.1 Python访问数据库原理 208 15.1.2 数据库操作的一般步骤 210 15.2 Python操作MySQL 213 15.2.1 环境安装 214 15.2.2 程序及分析 215 15.3 Python操作SQLite 217 15.3.1 SQLite简介 217 15.3.2 程序及分析 217 15.4 Python操作MongoDB 219 15.4.1 环境安装 219 15.4.2 程序及分析 221 15.5 Python操作PostgreSQL 223 15.5.1 环境安装 223 15.5.2 程序及分析 225 15.6 Python操作其他数据库 228 15.6.1 Python操作SQL Server 228 15.6.2 Python操作Oracle 230 第16章 窗口从何而来:界面设计实例 234 16.1 界面编程入门 234 16.1.1 编程的一般步骤 234 16.1.2 第一个Tkinter程序 235 16.1.3 界面的事件响应 236 16.2 窗体基本控件 237 16.2.1 Tkinter控件概述 237 16.2.2 标签 238 16.2.3 复选框 238 16.2.4 单选按钮 239 16.2.5 标签组框 240 16.2.6 输入框 241 16.2.7 列表框与滚动条 243 16.3 综合应用实例:人员信息管理系统 244 16.3.1 数据库准备 244 16.3.2 系统实现 245 16.3.3 功能演示 248 16.4 用Qt设计Python程序界面 250 16.4.1 Qt简介及功能展示 250 16.4.2 用Qt设计图形界面 252 16.4.3 Qt界面向Python转化 256 16.4.4 Python添加功能逻辑 257 16.5 Tkinter界面呈现MatPlotLib图表 260 第17章 网络爬虫,爬来爬去实例 262 17.1 爬虫概述 262 17.1.1 权限及试验用网站 262 17.1.2 爬虫工作的基本流程 263 17.2 基于Requests的爬虫 266 17.2.1 环境安装 267 17.2.2 程序实现 268 17.3 Python内置Urllib爬虫库 269 17.3.1 获取导航栏标题 270 17.3.2 搜索特定关键词 271 17.3.3 抓取页面上的图片 273 17.4 综合应用实例:爬虫获取天气预报 275 17.4.1 定位资源路径 275 17.4.2 程序实现 277 第18章 到Office晃一晃:操作Excel/Word/ PowerPoint实例 279 18.1 Python操作Excel 279 18.1.1 基本操作 279 18.1.2 单元格操作与计算:统计 高考录取人数与录取率 280 18.2 Python操作Word 282 18.2.1 环境安装 282 18.2.2 基本读/写 283 18.2.3 载入文档表格:读取历年 高考统计信息 284 18.2.4 输出文档表格:2013—2017 年高考信息统计表 286 18.3 Python操作PowerPoint 287 18.3.1 环境安装 287 18.3.2 第一张幻灯片 289 18.3.3 读取幻灯片中的表格:2013— 2017年高考人数和录取率 290 18.3.4 绘制柱状图表:画出2008— 2012年高考报名人数柱 状图 292 18.4 综合应用实例:统计并演示全国 高等教育普及率 293 18.4.1 原始Word数据准备 293 18.4.2 数据转存Excel计算 294 18.4.3 输出至PowerPoint演示 295 第19章 图像可以这样变化:图像处理实例 298 19.1 Python图片基本处理 298 19.1.1 三种处理方式 298 19.1.2 模式转换:彩色照片画面 作旧 300 19.1.3 增强与滤波:海底摄影照片 美化 302 19.2 多图合成技术 304 19.2.1 图像合成的两种方式 304 19.2.2 插值合成:杂技演员动作 合成 305 19.2.3 通道合成:人鱼美照融入 背景 306 19.3 图像截取与抓拍 308 19.3.1 图像截取:人物肖像轮廓 提取 308 19.3.2 画面抓拍:艺术体操表演 抓拍 310 19.4 综合应用实例:长白山天池水怪 研究 313 19.4.1 背景知识 313 19.4.2 处理水怪的影像 315 19.4.3 观察、研究及结论 316 第20章 其他也精彩:音频、动画、视频与 C++实例 318 20.1 音频处理:流行歌曲串烧 318 20.1.1 歌曲介绍 318 20.1.2 Python音频处理模块 319 20.1.3 用Python实现歌曲串烧 319 20.1.4 合成的新曲 322 20.2 动画制作:阿基米德螺线的生成 演示 323 20.2.1 动画相关组件 323 20.2.2 程序实现 323 20.2.3 演示效果 324 20.3 视频处理:海洋馆潜水员表演 视频剪辑 324 20.3.1 Python视频模块 325 20.3.2 本例视频处理需求 325 20.3.3 格式转换 326 20.3.4 冗余帧采样 328 20.3.5 必要帧处理 330 20.3.6 特殊处理 331 20.3.7 制作片头和片尾 333 20.3.8 合成作品 335 20.4 Python与C++互操作 336 20.4.1 C++调用Python模块功能 337 20.4.2 Python使用C++的DLL库 341 第三部分 实 验 实验1 345 实验2 346 实验3 346 实验4 347 实验5 348 实验6 349 实验7 350 实验8 351 实验9 352 实验10 353 实验11 353 实验12 354 实验13 355 实验14 357 实验15 358 实验16 359 实验17 360 实验18 361 实验19 362 实验20 362 第四部分 习 题 习题1 364 习题2 365 习题3 366 习题4 367 习题5 368 习题6 369 习题7 370 习题8 371 习题9 372 习题10 373 习题11 374 习题12 375 习题13 376 习题14 377 习题15 378 习题16 379 习题17 380 习题18 381 习题19 382 习题20 384 第五部分 附 录 附录A 磨刀不误砍材工—Pycharm环境调试 Python程序 385 A.1 Python程序语法错误标识 385 A.2 Python程序调试基本方法 387 A.3 Python实例程序运行调试 387

作者简介

编辑推荐

作者寄语

电子资料

http://www.hxedu.com.cn/hxedu/fg/book/bookinfo.html?code=G0361610

www.luweidong.cn

下一个