1、 I 高等职业教育大数据技术与应用系列规划教材 Python 语言及其应用语言及其应用 翁正秋 张雅洁 主 编 田启明 陈清华 副主编 Publishing House of Electronics Industry 北京BEIJING II 内 容 简 介 Python 语言不仅语法优雅、清晰、简洁,而且具有大量的第三方函数模块,因此很适合初学者作为程序设计入门语言进行学习,对学科交叉应用也很有帮助。本书介绍 Python 语言程序设计的基础知识。全书以 Python 作为实现工具,介绍程序设计的基本思想和方法,培养学生利用 Python 语言解决各类实际问题的开发能力。在编写过程中,以“项
2、目案例”为驱动,辅以知识点的讲解,突出问题求解方法与思维能力训练。全书共 8 章,主要内容有认识 Python、函数、分支与循环、列表与元组、字符串与文件、字典与集合、正则表达式和 Python 数据挖掘与分析。本书可作为高等职业院校计算机程序设计课程的教材,也可供社会各类工程技术与科研人员阅读参考。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据 Python 语言及其应用/翁正秋,张雅洁主编.北京:电子工业出版社,2018.8 高等职业教育大数据技术与应用系列规划教材 ISBN 978-7-121-34721-4 .P.翁 张.软件工具
3、程序设计高等职业教育教材.TP311.561 中国版本图书馆 CIP 数据核字(2018)第 155955 号 策划编辑:徐建军()责任编辑:徐 萍 印 刷:装 订:出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编:100036 开 本:7871 092 1/16 印张:14.5 字数:371 千字 版 次:2018 年 8 月第 1 版 印 次:2018 年 8 月第 1 次印刷 印 数:1500 册 定价:38.00 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888,88258888。质量
4、投诉请发邮件至 ,盗版侵权举报请发邮件至 。本书咨询联系方式:(010)88254570。III Python 语言以优雅、清晰、简洁的设计哲学而闻名,它是一门易读、易维护、开源,并且受大量用户欢迎的、用途广泛的程序设计语言。随着大数据时代的飞速发展,Python 已经成为数据分析领域里事实上的最常用语言之一。本教材的基本定位是,将 Python 作为大数据技术与应用专业的第一门程序设计语言,介绍 Python 语言程序设计的基础知识以及在大数据领域的应用。全书以 Python 作为实现工具,介绍程序设计的基本思想和方法,培养学生利用 Python 语言解决各类实际问题的开发能力。作为一门程序
5、设计的入门课程,本教材采用专题案例驱动的方式,教授 Python 语言的基础与应用,配以丰富的应用实例,将各章知识点有机融合贯穿,增强了教材的可操作性和可读性。实训内容既包含与 Python 语法规则相关的内容,也包含许多实际问题的程序设计,从而增强学生的学习兴趣,提高学生分析问题和解决问题的能力。作为大数据技术与应用专业的入门语言教材,学时安排建议参考内容与学时安排表格。内容与学时安排 序序 号号 内内 容容 建建 议议 学学 时时 1 第 1 章 认识 Python 6 2 第 2 章 函数 3 3 第 3 章 分支与循环 6 4 第 4 章 列表与元组 6 5 第 5 章 字符串与文件
6、6 6 第 6 章 字典与集合 6 7 第 7 章 正则表达式 3 8 第 8 章 Python 数据挖掘与分析 6 9 Python 综合实训 6 10 合计 48 此外,本教材以课程组开发的“猜字游戏”为主线进行编写,每一章都包含案例、知识梳理、小结与习题、课外拓展、实训五大部分。本书所有代码均在 Python 3.6 中测试通过,书中代码运行的 IDE 为 Pycharm,它由著名的JetBrains 公司开发,带有一整套可以帮助用户在使用 Python 语言开发时提高效率的工具,比 IV 如调试、语法高亮、Project 管理、代码跳转、智能提示、自动完成、单元测试、版本控制等功能。另
7、外,为规范教师教学,我们将制作并提供相关辅助教学资源,如光盘或网站资源。辅助教学资源包括能够满足“一体化”教学的课程教学大纲、实训考核大纲和教学课件,建立能够让学生自主学习、自主测试的试题库、技能测试题库和教学视频等,同时提供习题与实训的参考答案。本书由温州职业技术学院信息技术系大数据技术与应用教研团队组织策划,由翁正秋、张雅洁担任主编,由田启明、陈清华担任副主编。其中,第 13、8 章由翁正秋编写,第 4、6章由张雅洁编写,第 5 章由陈清华编写,第 7 章由田启明编写,全书由翁正秋统稿。此外,参与部分编写工作的还有龚大丰、杜益虹、吴淑英、施郁文、池万乐等。同时,也特别感谢王子怡和叶怡雯在本
8、书的编排和校对以及代码验证工作中提供的支持。本书的编写得到了温州职业技术学院“十三五”教育教改重大项目立项支持(项目编号:WZYZD201706),在此表示衷心的感谢。为了方便教师教学,本书配有电子教学课件及相关资源,请有此需要的教师登录华信教育资源网()免费注册后进行下载,如有问题可在网站留言板留言或与电子工业出版社联系(E-mail:)。教材建设是一项系统工程,需要在实践中不断加以完善及改进,同时由于时间仓促、编者水平有限,书中难免存在疏漏和不足之处,敬请同行专家和广大读者给予批评和指正。编 者 V 目 录 第第 1 章章 认识认识 Python 1 1.1 案例1 1.1.1 案例 1:
9、运行你的第一个程序 1 1.1.2 案例 2:求正方形的面积 3 1.1.3 案例 3:制作你的第一个游戏 4 1.2 知识梳理5 1.2.1 Python 运行原理 5 1.2.2 语句的结束 6 1.2.3 注释 6 1.2.4 编码 7 1.2.5 输入与输出 8 1.2.6 值与类型 10 1.2.7 变量与标识符 14 1.2.8 运算符和不同类型的混合计算 15 1.2.9 字符串的连接与倍增 15 1.2.10 将数值转换成字符串 15 1.2.11 导入模块 16 1.2.12 安装 Python 17 1.2.13 Python 2 与 Python 3 的版本切换 18 1
10、.3 小结与习题 22 1.3.1 小结 22 1.3.2 习题 22 1.4 课外拓展 22 1.5 实训 24 1.5.1 实训 1:认识 Python 24 1.5.2 实训 2:Python 语言入门 27 第第 2 章章 函数函数31 2.1 案例 31 2.1.1 案例 1:用函数的方法输出“Hello world!”31 2.1.2 案例 2:用函数的方法定义正方形的面积 32 2.1.3 案例 3:用函数的方法定义猜字游戏 32 VI 2.2 知识梳理 34 2.2.1 函数的定义和调用 34 2.2.2 函数的参数 34 2.2.3 return 语句 38 2.2.4 局部
11、变量与全局变量 39 2.2.5 函数作用域 40 2.2.6 模块 41 2.2.7 编程缩进格式 42 2.2.8 文档字符串 42 2.2.9 格式化输出 42 2.2.10 内置函数 43 2.3 小结与习题 44 2.3.1 小结 44 2.3.2 习题 44 2.4 课外拓展 44 2.5 实训 46 实训:函数 46 第第 3 章章 分支与循环分支与循环 50 3.1 案例 50 3.1.1 案例 1:猜字游戏(一次猜字机会)50 3.1.2 案例 2:猜字游戏(多次猜字机会)版本一 51 3.1.3 案例 3:猜字游戏(多次猜字机会)版本二 52 3.2 知识梳理 53 3.2
12、.1 常用运算符 53 3.2.2 if 语句 60 3.2.3 while 循环 65 3.2.4 嵌套和中止循环 67 3.2.5 for 循环 68 3.3 小结与习题 70 3.3.1 小结 70 3.3.2 习题 70 3.4 课外拓展 71 3.5 实训 74 3.5.1 实训 1:分支 74 3.5.2 实训 2:循环 78 第第 4 章章 列表与元组列表与元组 82 4.1 案例 82 4.1.1 案例 1:猜字游戏(记录游戏过程数据)82 VII 4.1.2 案例 2:猜字游戏扩展 83 4.2 知识梳理 85 4.2.1 列表基础 85 4.2.2 索引的使用 88 4.2
13、.3 求元素数量 89 4.2.4 列表运算符 89 4.2.5 列表的截取与拼接 89 4.2.6 列表推导式 90 4.2.7 嵌套列表 91 4.2.8 列表函数与列表方法 92 4.2.9 元组基础 93 4.2.10 元组运算符 95 4.2.11 元组索引与截取 96 4.2.12 元组内置函数 97 4.3 小结与习题 98 4.3.1 小结 98 4.3.2 习题 98 4.4 课外拓展 98 4.5 实训100 4.5.1 实训 1:列表 100 4.5.2 实训 2:元组 105 第第 5 章章 字符串与文件字符串与文件 107 5.1 案例107 5.1.1 案例 1:游
14、戏中的字符串格式化及优化 107 5.1.2 案例 2:利用文本文件读/写存储游戏过程日志 109 5.2 知识梳理111 5.2.1 字符串的写法 111 5.2.2 字符串操作 112 5.2.3 字符串运算符 115 5.2.4 字符串内建函数 116 5.2.5 字符串格式化(%)118 5.2.6 字符串格式化(format 函数)119 5.2.7 字符串截取(切片)123 5.2.8 转义字符 126 5.2.9 文件的打开 127 5.2.10 文件对象的各种方法128 5.2.11 相关的文件、目录操作函数以及会引起的异常处理 132 5.3 小结与习题134 5.3.1 小
15、结 134 VIII 5.3.2 习题 134 5.4 课外拓展134 5.5 实训137 5.5.1 实训 1:字符串 137 5.5.2 实训 2:文件 141 第第 6 章章 字典与集合字典与集合 145 6.1 案例145 案例:利用字典改进猜字游戏145 6.2 知识梳理147 6.2.1 字典的定义 147 6.2.2 访问字典里的值 148 6.2.3 修改字典 148 6.2.4 删除字典元素 149 6.2.5 字典键的特性 149 6.2.6 字典的方法 150 6.2.7 字典内置函数 151 6.2.8 集合的定义 152 6.2.9 集合运算 154 6.2.10 更
16、改集合157 6.2.11 从集合中删除元素158 6.2.12 集合的方法159 6.2.13 集合内置函数160 6.2.14 不可变集合161 6.3 小结与习题162 6.3.1 小结 162 6.3.2 习题 162 6.4 课外拓展163 6.5 实训164 6.5.1 实训 1:字典 164 6.5.2 实训 2:集合 169 第第 7 章章 正则表达式正则表达式 172 7.1 案例172 7.1.1 案例 1:使用正则表达式进行网页解析 172 7.1.2 案例 2:正则表达式在数据清洗中的应用 173 7.2 知识梳理177 7.2.1 正则表达式 177 7.2.2 修饰符 177 7.2.3 模式 178 IX 7.2.4 compile 函数180 7.2.5 match 函数 180 7.2.6 search 函数182 7.2.7 findall 函数184 7.2.8 检索和替换 186 7.3 小结与习题187 7.3.1 小结 187 7.3.2 习题 188 7.4 课外拓展188 7.5 实训189 实训:正则表达式 189 第第 8 章章 Py