图书简介:
目 录 第一部分 基 础 篇 第1章 Python,掀起你的盖头来 11.1 Python简介 11.2 安装Python及其扩展库 21.2.1 安装Python 21.2.2 Python集成开发环境—IDLE 51.3 PyCharm开发环境的安装和设置 51.3.1 PyCharm的安装 61.3.2 PyCharm程序设计环境 91.3.3 一个简单的程序实例 111.4 扩展库的安装和使用 131.4.1 扩展库的安装 131.4.2 扩展库的导入和使用 151.4.3 编程环境同步 161.5 Python说明 161.5.1 程序语法规则 161.5.2 Python语言的执行 191.5.3 name属性的作用 19第2章 Python虽神,语言基础并不特别 202.1 数据类型 202.1.1 数值 202.1.2 字符串与字节串 222.1.3 数据类型转换 232.1.4 类型变量 252.2 运算符与表达式 262.2.1 算术运算符及其表达式 262.2.2 关系运算符及其表达式 272.2.3 位运算符及其表达式 272.2.4 逻辑运算符及其表达式 282.2.5 字符串基本运算及其表达式 292.2.6 赋值运算符 302.2.7 与同性判断运算符 312.3 基本输入和输出 312.3.1 输出到屏幕 312.3.2 键盘输入 332.4 综合应用实例 34第3章 这样就能控制:分支和循环 353.1 选择结构 353.1.1 if语句的三种形式 353.1.2 if语句的嵌套 383.2 循环结构 383.2.1 循环语句 383.2.2 循环控制语句 403.2.3 循环嵌套 413.3 范围和迭代器 423.3.1 范围 423.3.2 迭代器 433.4 综合应用举例 43第4章 序列是什么:列元字集 464.1 列表:list 464.1.1 创建列表 464.1.2 索引和切片 474.1.3 列表的基本操作 484.1.4 列表方法 494.1.5 列表推导式 524.2 元组:tuple 544.2.1 元组的基本操作 544.2.2 生成器推导式 554.3 集合:set 564.3.1 集合的创建与访问 564.3.2 集合的基本操作符 574.4 字典:dict 594.4.1 字典的基本操作符 594.4.2 字典方法 604.5 序列 624.5.1 序列间的转换 624.5.2 常用内置函数 644.6 综合应用实例 67第5章 又是数组,又是矩阵 705.1 数组 705.1.1 创建数组 705.1.2 元素的增加、查询、修改、删除 715.1.3 分割切片 735.1.4 运算 735.1.5 条件函数 745.2 矩阵 755.2.1 创建矩阵 755.2.2 常用的矩阵运算 765.2.3 常用的矩阵求值 775.2.4 矩阵的分隔和合并 785.2.5 矩阵和数组 795.3 array模块数据库基本概念 80第6章 虽是字符串,还要正则表达式 836.1 基本说明 836.1.1 字符串编码 836.1.2 转义字符 846.1.3 字符串常量 856.2 字符串格式化 866.2.1 用%符号进行格式化 866.2.2 用format()方法格式化 876.2.3 格式化的字符串常量 886.2.4 用template模板格式化 896.3 字符串常用操作 896.3.1 字符串创建和访问 896.3.2 字符串操作和判断 916.3.3 字符串排版和切片 936.3.4 综合应用实例 936.4 正则表达式 946.4.1 正则表达式元字符 946.4.2 正则表达式模块re 956.4.3 match对象和正则表达式子模式 986.4.4 综合应用实例 98第7章 代码重用和共享:函数和模块 1007.1 Python程序结构 1007.2 用户编写函数 1017.2.1 函数定义与调用 1017.2.2 函数嵌套定义 1027.2.3 修饰器 1027.2.4 列表推导式 1037.3 参数传递 1037.3.1 定长参数 1047.3.2 可变长度参数 1057.3.3 序列解包 1057.4 函数嵌套与递归 1067.5 变量作用域 1077.5.1 局部变量 1077.5.2 全局变量 1087.6 lambda表达式 1087.7 成器函数设计 1107.8 模块 1117.9 命名空间 1127.9.1 命名空间的分类 1127.9.2 命名空间的规则 1137.10 包 1137.10.1 包介绍 1147.10.2 包管理工具 1147.11 综合应用实例 115第8章 对象需要谈一谈:面向对象编程 1178.1 类 1178.1.1 基本概念 1178.1.2 类的定义与使用 1188.1.3 数据成员 1198.1.4 方法 1208.1.5 属性 1228.1.6 动态性 1238.2 继承、多态 1248.2.1 继承 1248.2.2 多重继承 1258.2.3 多态 1268.3 运算符重载 127第9章 信息永久保存:文件操作 1299.1 文件及其操作 1299.1.1 文件类型 1299.1.2 文件的打开和关闭 1309.2 文件操作 1319.2.1 写入方法 1319.2.2 读取操作方法 1329.2.3 定位与移动 1329.2.4 文件设备 1339.2.5 上下文管理语句 1349.3 序列化和反序列化 1349.4 文件和文件夹的操作 1359.4.1 文件操作 1359.4.2 目录操作 135第10章 野马不会脱缰:异常处理 13710.1 异常的产生 13710.2 内置异常类 13710.3 异常处理结构 13810.4 抛出异常 14210.5 自定义异常 14310.6 断言语句 143
第二部分 应 用 篇 第11章 拿起一支笔画来画去:二维图表实例 14511.1 单幅图表:绘制螺旋曲线实例 14511.1.1 背景知识 14511.1.2 实现原理 14611.1.3 程序及分析 14711.2 绘制多轴图表:展示初等函数实例 14811.2.1 背景知识 14811.2.2 实现原理 14911.2.3 程序及分析 15011.3 定制表轴刻度:演示摆线形成实例 15211.3.1 背景知识 15211.3.2 实现原理 15311.3.3 程序及分析 153第12章 为什么这么快:数值处理及实例 15612.1 数组的创建 15612.1.1 NumPy数组函数 15612.1.2 数组维度设定 15712.1.3 函数生成数组 15812.2 数组的存取 15912.2.1 基本存取方法 15912.2.2 多维数组的存取 16012.2.3 结构数组的存取:读取修改学生成绩 16312.3 ufunc函数 16512.3.1 内置ufunc函数 16512.3.2 自定义ufunc函数:提取任意范围素数 16612.3.3 ufunc函数的性能 16712.4 综合应用实例:斐波那契法计算黄金分割数 16912.4.1 背景知识 16912.4.2 算法设计 17012.4.3 编程实现 172第13章 进入立体世界:三维可视化实例 17613.1 3D绘图入门:绘制圆柱体 17613.1.1 基本概念 17613.1.2 绘图流程 17713.1.3 VTK绘制圆柱体 17913.1.4 TVTK绘制圆柱体 18013.2 TVTK绘图进阶 18213.2.1 流水线浏览器:改变圆柱外观 18213.2.2 多实体场景:绘制多种几何体 18513.3 使用第三方模具:文件载入“胡巴” 18713.3.1 背景知识 18713.3.2 程序实现 18813.3.3 控制照相机 190第14章 精彩纷呈:可视化科学计算实例 19214.1 SciPy科学计算功能 19214.1.1 数据拟合 19214.1.2 插值优化 19314.1.3 信号处理 19414.2 Mayavi可视化应用 19514.2.1 绘制空间曲面:电子衍射图案 19514.2.2 复杂三维图形:模拟穿越虫洞 19814.2.3 标量场可视化:地月系引力场 20114.3 综合应用实例:蝴蝶效应演示 20314.3.1 背景知识 20314.3.2 实现原理 20414.3.3 程序演示 204第15章 流行数据库世界:操作实例 20815.1 基本原理 20815.1.1 Python访问数据库原理 20815.1.2 数据库操作的一般步骤 21015.2 Python操作MySQL 21315.2.1 环境安装 21415.2.2 程序及分析 21515.3 Python操作SQLite 21715.3.1 SQLite简介 21715.3.2 程序及分析 21715.4 Python操作MongoDB 21915.4.1 环境安装 21915.4.2 程序及分析 22115.5 Python操作PostgreSQL 22315.5.1 环境安装 22315.5.2 程序及分析 22515.6 Python操作其他数据库 22815.6.1 Python操作SQL Server 22815.6.2 Python操作Oracle 230第16章 窗口从何而来:界面设计实例 23416.1 界面编程入门 23416.1.1 编程的一般步骤 23416.1.2 第一个Tkinter程序 23516.1.3 界面的事件响应 23616.2 窗体基本控件 23716.2.1 Tkinter控件概述 23716.2.2 标签 23816.2.3 复选框 23816.2.4 单选按钮 23916.2.5 标签组框 24016.2.6 输入框 24116.2.7 列表框与滚动条 24316.3 综合应用实例:人员信息管理系统 24416.3.1 数据库准备 24416.3.2 系统实现 24516.3.3 功能演示 24816.4 用Qt设计Python程序界面 25016.4.1 Qt简介及功能展示 25016.4.2 用Qt设计图形界面 25216.4.3 Qt界面向Python转化 25616.4.4 Python添加功能逻辑 25716.5 Tkinter界面呈现MatPlotLib图表 260第17章 网络爬虫,爬来爬去实例 26217.1 爬虫概述 26217.1.1 权限及试验用网站 26217.1.2 爬虫工作的基本流程 26317.2 基于Requests的爬虫 26617.2.1 环境安装 26717.2.2 程序实现 26817.3 Python内置Urllib爬虫库 26917.3.1 获取导航栏标题 27017.3.2 搜索特定关键词 27117.3.3 抓取页面上的图片 27317.4 综合应用实例:爬虫获取天气预报 27517.4.1 定位资源路径 27517.4.2 程序实现 277第18章 到Office晃一晃:操作Excel/Word/PowerPoint实例 27918.1 Python操作Excel 27918.1.1 基本操作 27918.1.2 单元格操作与计算:统计高考录取人数与录取率 28018.2 Python操作Word 28218.2.1 环境安装 28218.2.2 基本读/写 28318.2.3 载入文档表格:读取历年高考统计信息 28418.2.4 输出文档表格:2013—2017年高考信息统计表 28618.3 Python操作PowerPoint 28718.3.1 环境安装 28718.3.2 第一张幻灯片 28918.3.3 读取幻灯片中的表格:2013—2017年高考人数和录取率 29018.3.4 绘制柱状图表:画出2008—2012年高考报名人数柱状图 29218.4 综合应用实例:统计并演示全国高等教育普及率 29318.4.1 原始Word数据准备 29318.4.2 数据转存Excel计算 29418.4.3 输出至PowerPoint演示 295第19章 图像可以这样变化:图像处理实例 29819.1 Python图片基本处理 29819.1.1 三种处理方式 29819.1.2 模式转换:彩色照片画面作旧 30019.1.3 增强与滤波:海底摄影照片美化 30219.2 多图合成技术 30419.2.1 图像合成的两种方式 30419.2.2 插值合成:杂技演员动作合成 30519.2.3 通道合成:人鱼美照融入背景 30619.3 图像截取与抓拍 30819.3.1 图像截取:人物肖像轮廓提取 30819.3.2 画面抓拍:艺术体操表演抓拍 31019.4 综合应用实例:长白山天池水怪研究 31319.4.1 背景知识 31319.4.2 处理水怪的影像 31519.4.3 观察、研究及结论 316第20章 其他也精彩:音频、动画、视频与C++实例 31820.1 音频处理:流行歌曲串烧 31820.1.1 歌曲介绍 31820.1.2 Python音频处理模块 31920.1.3 用Python实现歌曲串烧 31920.1.4 合成的新曲 32220.2 动画制作:阿基米德螺线的生成演示 32320.2.1 动画相关组件 32320.2.2 程序实现 32320.2.3 演示效果 32420.3 视频处理:海洋馆潜水员表演视频剪辑 32420.3.1 Python视频模块 32520.3.2 本例视频处理需求 32520.3.3 格式转换 32620.3.4 冗余帧采样 32820.3.5 必要帧处理 33020.3.6 特殊处理 33120.3.7 制作片头和片尾 33320.3.8 合成作品 33520.4 Python与C++互操作 33620.4.1 C++调用Python模块功能 33720.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程序 385A.1 Python程序语法错误标识 385A.2 Python程序调试基本方法 387A.3 Python实例程序运行调试 387
展开
前 言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。编 者
展开