本书Python语言及其应用为切入点,内容主要包括Python语法结构、列表与字符串、字典与集合、函数和面向对象编程、文件及异常处理、科学计算与可视化、网站信息爬取和人工智能应用等,通过抽奖投注、学生成绩整理、豆瓣电影Top 250数据爬取、图片比对等典型案例实现,培养学生运用Python语言编程解决实际问题的能力;重点学习如何有效地运用Python语言进行数据采集、科学计算、数据处理、数据可视化和人工智能应用等技术。本书采用层层递进编写方式,项目案例丰富且具有很强的操作性和实用性。 本书适合作为高等职业院校大数据技术应用、人工智能应用等技术等计算机类和电子信息类相关专业的Python程序设计教材,,也可作为Python程序设计爱好者的自学参考书。
Python语言俗称黏性语言或胶水语言,其语法简单、功能强大、编写简洁、可读性强,能够用简单的语法结构封装各编程语言秀的程序代码,已成为各行业应用开发的编程语言。特别是人工智能领域,近八成的程序使用Python语言编写。许多世界大学已经采用Python来教授程序设计课程,例如卡耐基梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就使用Python语言讲授。
本书以介绍Python语言及其应用为切入点,以培养学生的程序设计思维为目标,以如何使用Python语言编程解决实际问题为核心,培养高职学生的程序设计能力、计算思维能力和人工智能系统开发能力。
本书涵盖Python语言程序设计的常用知识,选取了抽奖投注、学生成绩整理、豆瓣电影Top 250数据爬取、图片比对等典型案例,培养学生广泛地思考和实践如何利用Python语言程序解决各种复杂任务,重点学习如何有效地运用Python语言进行数据采集、科学计算、数据处理、数据可视化和人工智能应用等技术,对专业任务进行辅助决策。
本书通过层层递进的编写方式,在讲解理论知识的同时,通过大量的项目案例进行实践巩固,便于教师根据学生特点分层次组织教学和因材施教。
本书配有课件、教学大纲、教案、代码源文件等相关素材,并建设有在线教学平台,如果需要可以联系编者或者出版社。编者电子邮箱:liyueping@szpt.edu.cn。
本书由李粤平、聂哲、林伟鹏任主编,李岩、吴雪飞、邓雪峰、邹平辉、张霞、沈翠新任副主编。其中:聂哲编写了第3章,李粤平编写了第1章、第7章、第9章,林伟鹏编写了第5章,李岩编写了第4章、第12章,吴雪飞编写了第8章,邓雪峰编写了第11章,邹平辉编写了第10章,张霞编写了第6章,沈翠新编写了第2章。全书由聂哲负责策划、设计,李粤平、林伟鹏负责全书的流稿。
由于时间仓促,编者水平有限,书中难免存在疏漏和不足之处,恳请读者批评指正。
编者
2020年3月
第1章 走进Python的精彩世界1
11为什么要学Python1
111Tiobe程序开发语言排行榜1
112Python与三明治2
113Python主要应用领域2
114为什么要学Python3
12怎么学Python4
13Python编程环境安装5
131安装Anaconda5
132安装与配置PyCharm6
14我的Python程序7
141个Python程序7
142第二个Python程序8
15实战演练9
第2章 开启Python之旅语法与应用10
21顺序结构10
211计算Pizza的大小10
212预备知识变量的使用10
213计算Pizza的大小15
214总结与提高内置函数与条件表达式的值15
215顺序结构练习17
22选择结构与循环结构18
221百货公司折扣战18
222预备知识选择结构18
223预备知识循环结构20
224百货公司折扣战任务实现21
225总结与提高23
23巩固与应用24
231猜数字游戏24
232九九乘法表25
233素数问题25
234身体质量指数26
第3章 列表应用27
31抽奖游戏规则27
32预备知识列表list与随机数random库28
321列表组合数据类型28
322列表常用操作29
323列表练习30
324random库常用函数30
33黑白球抽奖项目实战31
331项目分析机选投注31
332项目分析开奖号码31
333项目分析中奖匹配32
334项目分析中奖等级与兑奖32
335项目实现33
34总结与提高列表、random随机库、元组34
341列表34
342random随机库36
343元组37
35巩固与应用38
351十进制转二进制38
352名单去重38
353演讲比赛评分39
354围圈数数游戏40
第4章 字符串应用41
41情报译码41
42预备知识字符串41
421字符串类型及其表示41
422字符串的基本操作43
423字符串练习44
43情报译码项目实战44
431项目分析45
432项目实现45
44总结与提高字符串基本操作和常用函数46
45巩固与应用48
451回文判断48
452字符串循环左移49
453将Excel的列名转为十进制数49
第5章 字典与集合51
51购物车51
52预备知识字典52
521字典组合数据类型52
522字典常用操作53
523创建字典练习56
524遍历字典练习57
53购物车项目实战57
531项目分析57
532项目实现57
54总结与提高字典的键排序与值排序58
541对字典的键排序59
542用列表协助对字典的值排序60
543使用lambda x:x[1]61
55集合类型62
551组合数据类型62
552集合62
553创建集合练习65
56巩固与应用65
561用户注册65
562统计城市数量65
563点菜66
564完善购物车67
第6章 函数69
61绘制五角星69
62预备知识函数操作与turtle库69
621绘图库的介绍69
622绘制一颗五角星71
623定义函数与调用函数71
624调用函数绘制图形练习73
63绘制五角星项目实战74
631项目分析74
632项目实现74
64总结与提高函数的参数传递、递归函数和匿名函数74
641参数传递74
642递归函数77
643匿名函数78
65巩固与应用79
651打印程序员信息79
652绘制N角星80
653温度转换80
654计算平均成绩80
第7章 面向对象编程82
71绘制多边形的画笔82
72预备知识类的使用83
73设计画笔项目实战86
731项目分析86
732项目实现86
74总结与提高继承、多态和特殊方法类88
741继承88
742Python类的特殊方法93
743多态94
75巩固与应用96
751动物类封装与继承96
752校园成员类多态机制实践97
第8章 文件及异常处理99
81学生成绩整理与批量修改99
82预备知识文件操作与openpyxl库100
821文件100
822文件常用操作101
823openpyxl库常用方法102
824os库常用方法103
825文件练习104
83文件操作项目实战104
831项目分析单个文件格式转换104
832项目分析批量文件格式转换105
833项目分析单个文件内容修改105
834项目分析批量文件内容修改105
835项目实现105
84学生成绩文件异常处理106
85预备知识异常107
851异常107
852常见异常处理结构108
853异常练习111
86异常处理项目实战111
861项目分析111
862项目实现112
87总结与提高os库其他成员、文件编码、再谈异常、分词与词云库112
871os库其他成员112
872文件编码113
873再谈异常114
874分词与词云库jieba库115
875分词与词云库wordcloud库116
88巩固与应用117
881数据处理与文件另存117
882批量修改记事本文件编码格式117
883演员参演信息118
884分词与词云应用119
第9章 数据格式化121
91中国股票交易数据的格式化存储121
92预备知识数据类型的转换与对象的文件存储122
921数据类型的转换122
922常用数据类型和格式转换123
923对象的文件存储124
924整数不同进制的转换124
925数据格式转换练习125
93中国股票交易数据项目实战125
931项目分析逐行读入单只股票126
932项目分析利用字典存储单只股票信息126
933项目分析利用嵌套字典存储多只股票信息126
934项目分析股票信息保存到文件127
935项目实现127
94总结与提高数据格式转换128
941数据类型的转换128
942使用表达式求值创建对象128
943对象的文件存储128
95巩固与应用129
第10章 科学计算与可视化131
101餐饮小费数据统计和分析131
102预备知识NumPy库、Pandas库、Matplotlib库132
1021NumPy库的使用132
1022Pandas库的使用134
1023Matplotlib库的使用137
1024科学计算与可视化练习142
1025NumPy、Pandas、Matplotlib库常用函数142
103餐饮小费数据统计和分析项目实战146
1031项目分析数据获取146
1032项目分析数据查看147
1033项目分析数据统计147
1034项目分析可视化展示147
1035项目实现147
1036数据可视化148
1037分析结论149
104总结与提高NumPy、Pandas、Matplotlib库149
1041NumPy库149
1042Pandas库150
1043Matplotlib库151
105巩固与应用151
1051中学期末成绩统计分析151
1052全国人口数据统计分析152
第11章 网站信息爬取154
111数据来源154
112预备知识浏览网页的基本过程与爬虫基本工作原理155
1121浏览网页的通信过程155
1122爬虫的基本工作原理156
1123requests库的使用156
1124学校网站首页爬取练习157
1125beautifulsoup4库的使用157
113豆瓣电影Top250数据爬取项目实战160
1131项目分析网页爬取160
1132项目分析数据解析160
1133项目分析数据存储160
1134项目分析数据格式化输出161
1135项目实现161
114总结与提高re、requests库162
1141re库162
1142requests库164
115巩固与应用165
1151中国大学排名爬虫165
1152天气预报爬虫166
1153豆瓣读书新书快递爬虫167
第12章 Python人工智能应用168
121人脸识别找找哪个是我168
122预备知识169
1221百度AI库接入流程169
1222人脸识别Python SDK170
1223人脸检测练习173
1224人脸对比练习175
123找找哪个是我项目实战177
1231项目分析人脸检测177
1232项目实现人脸检测177
1233项目分析人脸对比搜索180
1234项目实现人脸对比搜索180
124拓展与应用基于人脸库的人脸搜索182