前言 Python语言是一种跨平台、开源、面向对象、解释型、动态数据类型的高级计算机程序设计语言,在Web开发、科学计算、人工智能、大数据分析和系统运维等领域得到广泛应用,成为高校新工科各专业学生首选的编程语言。 “Python程序设计”是一门对实践动手能力要求很高的课程,读者不仅要掌握程序设计的理论知识,还要通过大量的上机实践加强对理论知识的掌握,从融会贯通到实际应用,最终达到解决相关专业领域实际问题的目标。本书正是基于此目的编写的,通过大量的分类分层实验来培养学生的计算思维能力,使学生能够综合利用所学知识分析问题、解决问题,培养富有时代特点的有担当、有作为的新工科人才。 本书内容组织 本书内容以实验操作为主,帮助学生加深对课程内容的理解。全书包含3部分。 第1部分为实验篇,与主教材内容保持同步,提供了20个实验。除实验1以外,每个实验都提供了实验目的、知识导图和实验内容。实验目的描述了本次实验需要达成的目标。知识导图采用思维导图的形式对实验所涉及的知识点进行了汇总和介绍。遵循由浅入深、循序渐进的原则,实验内容按照难度分为“照猫画虎”“牛刀初试”“挑战自我”3个层次。 “照猫画虎”阶段属于学习程序设计的初级阶段,主要方式是通过验证教材上的相关例题,达到学习并掌握程序设计语言或平台的语法知识、技术的应用能力。在完成该部分任务时,所花费的时间应该很短,一般不占实验课时,特别需要时,一般不超过半小时。 “牛刀初试”阶段属于学习程序设计的中级阶段,主要方式是结合给出的题目,按照小的项目方式来处理,首先进行分析,已经具备了什么条件、需求是什么,之所以要按照小的项目或课题来完成,是为了达到培养学生树立项目意识、提高实践能力的目标。 “挑战自我”——所谓挑战自我,是指这一部分给出的程序设计题目有一定的难度,需要认真思考、用心设计并进行编程实现。如果遇到问题,通过已有的知识不能解决,可以去后面的章节或者其他资料中寻找所需的知识。这样,编程水平才能不断提高。 第2部分为实训篇,该部分包含两个实训: Python网络爬虫——中国大学MOOC网课程数据爬取及分析系统和Python智能应用——智慧课堂点名系统。 中国大学MOOC网课程数据爬取及分析系统是为了统计和分析各个大学的上线课程情况而设计的。本系统首先从中国大学MOOC网上爬取学校和课程的有关数据,并保存到MySQL数据库中,然后对已保存的数据进行分析及可视化。本系统主要包含数据爬取、数据查询和数据可视化分析3个功能模块,按照数据库设计、界面设计、网络爬虫、数据查询、数据可视化等步骤进行设计与实现。 智慧课堂点名系统模拟实现一款课堂点名软件,学生在上课前只需通过人脸识别即可快速完成签到,老师可以从统计页面上统计学生的出勤情况,可有效防止替点名等作弊行为。系统主要包括人脸注册、人脸点名以及签到情况查看三大功能,主要由前端UI交互界面、后端人脸识别 SDK 和数据库操作3部分组成,本实训按照系统功能、系统设计、关键技术、界面设计和实现详细介绍过程。 通过实训中详尽的步骤和知识介绍,对Python在爬虫、数据分析和处理、数据可视化以及人工智能领域有一个初步的认知,同时提高学生的知识综合应用能力。 第3部分为习题篇,与主教材前8章内容保持同步,提供了对应的配套习题,学生可以根据自己的实际情况,选择性地完成相关题目,达到巩固理论知识的目的。 本书特色 (1) 思政元素。本书深刻挖掘中华民族传统文化以及学生密切关注的现实社会问题中的思政元素,将之设计为实验内容,使学生在潜移默化中受到教育,帮助塑造学生的价值观和人生观。 (2) 具备高阶性、创新性、挑战度。实验内容中的“挑战自我”具备一定的难度,需要“跳一跳”才能够得着,培养学生解决复杂问题的综合能力和高级思维。实验内容中的多数题目都是从现实生活中提炼出来的,反映前沿性和时代性。 (3) 视频讲解。书中有一定难度的实验任务和实训都配有精彩详尽的视频讲解。引导学生快速理解和掌握知识,享受编程的快乐和成就感。 读者对象 (1) 零基础的编程爱好者。 (2) Python培训机构的教师和学生。 (3) 高等院校的教师和学生。 (4) 大中专院校或者职业技术学校的教师和学生。 致谢 本书的编写是在江苏师范大学计算机科学与技术学院领导的支持下完成的,得到了智能科学与技术系全体教师的支持和帮助,在此对他们表示感谢!书中的部分素材来源于网络,在此对所有素材作者表示感谢! 本书由江苏师范大学计算机科学与技术学院多名资深教师共同编写。在编写本书的过程中,编者本着科学严谨、认真负责的态度,力求精益求精,达到最好的效果。但由于时间和学识有限,书中不足之处在所难免,敬请诸位同行、专家和读者指正。 编者2022年6月 源代码 参考答案