Python项目案例开发超详细攻略
——GUI开发、网络爬虫、Web开发、数据分析与可视化、机器学习
本书首先讲解了Python编程的基础,然后选取了Python几个热门的应用方向作了深入介绍,并且提供了相关案例,适合初学者系统的学习Python。
《Python程序设计》
课程教学大纲
01
课程的性质、目的与任务
《Python程序设计》是软件工程专业中的一门非常实用的课程,该课程从Python的编程基础知识和几个热门的Python应用方向出发,主要内容包括含有数据类型与基本计算、控制语句和函数、数据结构、文件读写、类和对象这几部分的Python基础知识,以及包括PythonGUI开发、网络爬虫、Web开发、数据分析与可视化、机器学习等Python项目的开发方法。
本课程的目的与任务是使学生通过本课程的学习,从Python编程的基础理论知识入手,循序渐进的学习Python项目的开发,并通过引入实际案例的学习,帮助学生更好的系统性学习Python,做到理论与实践相结合,方法与应用相结合。本课程除要求学生掌握Python语言的运用,更重要的是要求学生拥有分析问题、解决问题的能力和学以致用的思想,为更深入地学习和今后的实践打下良好的基础。
02
教学内容及教学基本要求
1.Python的入门知识(2学时)
了解Python作为初学者编程语言的优势;了解如何获取Python;了解集成开发环境和PyCharm的特点和使用;了解JupyterNotebook的获取和使用;了解包管理器pip的基本概念和使用;掌握Python的编写规范和自动代码调整的方法。
2.数据类型和基本计算(2学时)
掌握常用的数值类型的定义和特点,包括整型、浮点型、复数类型、布尔型;掌握数值类型转换的方法;掌握变量的声明和使用方法;掌握多种算术运算符的使用,包括比较运算符、逻辑运算符、赋值运算符、复合赋值运算符、位运算符、按位取反、异或运算和复合赋值运算符;了解运算符的优先级顺序。
3.控制语句和函数(2学时)
了解Python程序中代码块的概念;掌握Python中if选择结构的用法;掌握Python中while、for循环结构的用法及其相互转换;掌握break、continue与pass的用法;掌握Python函数的定义与调用;掌握Python函数参数的特点与用法;掌握函数嵌套和使用轮子的方法。
4.数据结构(2学时)
了解常见数据结构的特点,包括集中结构、线性结构、树形结构和图形结构;掌握元组的概念和操作方法;掌握列表的概念和操作方法;掌握字典的概念和操作方法;掌握字符串的概念和相关操作,包括转义字符的含义、字符串的表示、输入、运算、格式化、内建方法、访问和遍历。
5.文件读写(2学时)
掌握文件操作和文件系统的相关知识,包括如何打开文件、关闭文件、读文件、写文件和定位读写;掌握文件数据序列化的方法;掌握文件系统的操作方法。
6.类和对象(2学时)
了解类和对象的基本概念;了解类和对象的关系;了解面向对象和面向过程的区别;了解类的定义方法,包括类名、属性的声明和类的访问;了解类的三种方法,即静态方法、类方法和实例方法;
7.PythonGUI开发(4学时)
了解GUI编程的基本概念,包括窗口与组件的概念和事件驱动与回调机制;了解Tkinter的主要组件的构建方法,包括标签、框架、按钮、输入框、单选按钮和多选按钮、列表框和滚动条;掌握利用Tkinter库进行窗口化程序的编写的基本方法。
8.Python网络爬虫(4学时)
了解HTTP、HTML、JavaScript的概念;了解Requests的概念;掌握使用Requests编写爬虫程序的方法;了解其他常见的网页解析工具,包括BeautifulSoup、XPath与lxml;了解Scrapy框架与Selenium;了解处理表单以及反爬虫机制。
9.PythonWeb开发(4学时)
了解Flask框架基础和Jinja2模板,掌握搭建简单Web网站的方法;了解Django框架基础,掌握使用Django创建项目和模型、生成管理界面、构建前端页面的方法。
10.Python数据分析与可视化(4学时)
了解MATLAB和Python在数据分析与可视化上各自的特点;了解NumPy的使用方法;了解Pandas的使用方法;了解Matplotlib的使用方法;了解SciPy与SymPy这两种库。
11.Python机器学习(4学时)
了解机器学习的基本概念;了解机器学习的分类,包括监督学习、非监督学习、半监督学习和强化学习;了解对于多分类任务常用的评价指标;了解卷积神经网络的概念和深度神经网络的基本组件。
12.实验(16学时)
教学说明及教学基本要求见《Python程序设计》实验教学大纲。
03
教学方法
本课程教学方法以教师为主导的启发式讲授教学法为主,讨论(提问)式教学为辅,结合课外学习的教学方法。实验以学生动手实验为主,教师的启发式讲授教学法为辅,并结合讨论(提问)式教学,以及结合课外学习的教学方法。
1.本课程概念较多,因此教学形式以讲授方式为主。本课程拟采用多媒体PPT的教学方法,增加课堂信息,浅显通俗地对概念、定义和原理进行解释,增加教学的直观性,教学过程中注意各个知识点的关联性,以使学生更好地理解课程内容。
2.对课程中关键性概念、设计思想方面的问题可辅以课堂讨论的形式。
3.为加强和落实动手能力的培养,每章课后应安排作业,帮助学生学习和应用。
04
课内外教学环节及基本要求
本课程共48个学时,其中理论32个学时,讲授16周(每周2学时);实验16个学时,讲授8周(每周2学时)。
课外学习要求:
1.做好课前预习,预习时以教材为主,了解相关的概念、定义、原理。预习中认真思考,以便带着问题主动地听课。
2.课后要复习,有余力的学生复习时还应阅读参考资料,认真整理课堂听课笔记。
3.要求学生课外自主学习,学生课外阅读的参考资料以本大纲所列参考资料为主。
05
考核内容及方式
本课程成绩由平时成绩和期末考核成绩组合而成,课程成绩以百分制计算,分配比例如下:
1.平时成绩占30%,主要考查作业的完成程度,理论课和实验课的出勤率,实验课的考试结果。其中作业占10%,实验占15%,出勤率占5%。
2.期末成绩占70%,采用考试的考核方式。考试采用闭卷形式,题型为选择题、正确/错误题、填空题、简答题,以及应用题。
06
持续改进
本课程根据学生作业、课堂讨论、平时考核情况和学生、教学督导等反馈,及时对教学中不足之处进行改进,并在下一轮课程教学中改进。
《Python程序设计》
实验教学大纲
教学内容及教学基本要求
1.使用Tkinter进行GUI编程(2学时)
掌握GUI编程中的事件驱动和回调机制;了解使用Tkinter进行GUI编程的过程;了解使用GUI制作游戏的基本步骤;了解如何利用Tkinter库进行窗口化程序的编写;了解扫雷游戏和连连看游戏的完整编程过程;
2.网络爬虫程序的编写(2学时)
了解requests的使用方法;了解模拟浏览器Selenium的用法;了解分析网站数据的方法;了解编写网络爬虫的完整流程和方法;了解针对小说网站和购物网站的爬虫的完整编程过程;
3.案例:使用Flask框架实现简单的微博网站(2学时)
了解网站所需的基本设计,包括界面设计、模型设计和接口设计;了解搭建Flask服务、连接数据库的方法;了解如何注册蓝图和实现接口;了解如何使用模板渲染网页;了解如何进行网页的权限控制;
4.案例:使用Django搭建用户注册登录系统(2学时)
了解创建项目以及一个App的方法;了解进行全局配路由及视图框架搭建的方法;了解编写网站主页面的程序的方法;了解进行登陆页面及对应视图逻辑的编写的方法;了解注册页面样式的方法;了解设置找回密码功能的方法;
5.案例:新生数据分析与可视化(2学时)
了解使用Pandas对数据进行预处理的方法;掌握使用Matplotlib库进行画图的方法;掌握使用Pandas库进行画图的方法;
6.案例:美国波士顿房价预测(2学时)
了解使用Pandas库进行数据清洗的方法;了解通过建模拟合进行数据分析的方法;了解通过AUC对结果进行分析的方法;
7.案例:基于线性回归、决策树和SVM算法的鸢尾花分类任务(2学时)
了解数据集的概念和分析方法;了解多分类任务的评价指标,包括混淆矩阵、准确率、精确率与召回率、PR曲线、ROC曲线与AUC曲线;了解在多分类任务中使用Logistic的方法;了解在多分类任务中使用决策树的方法;了解在多分类任务中使用SVM的方法;
8.案例:使用PyTorch进行基于卷积神经网络的手写数字识别(2学时)
了解MINST数据库的基本概念;了解对手写数字识别这一多分类任务进行分析的方法;了解卷积神经网络的基本组件和概念;了解基于卷积神经网络进行手写数字识别的编程步骤与过程。
建议教材及参考资料
《Python项目案例开发超详细攻略——GUI开发、网络爬虫、Web开发、数据分析与可视化》
ISBN:-7---2
作者:吕云翔、姚泽良、张扬、姜峤、孔子乔等
定价:79元
内容简介
本书完全为零基础的初学者量身定制,配合大量实例介绍了Python的基本语法、编码规范和一些编程思想。
本书第1~6章为Python语言基础,主要介绍Python的基本用法;第7~11章介绍一些Python的实际应用。其中,第7章介绍如何用Python进行GUI开发,第8章介绍如何用Python进行网络爬虫;第9章介绍如何用Python进行Web开发;第10章介绍如何使用Python进行数据分析和可视化处理;第11章介绍如何使用Python实现常见机器学习算法。
本书既可以作为高等院校计算机与软件相关专业的教材,也可以作为软件从业人员、计算机爱好者的学习指导用书。
适读人群
本书既可以作为高等院校计算机与软件相关专业的教材,也可以作为软件从业人员、计算机爱好者的学习指导用书。
编辑推荐
1.适合初学者:本书针对的是没有学过编程的读者,内容简单明了,专注于通过实践去理解概念。
2.基于实践的理论学习:在本书的讲解中实践贯穿始终,迫使读者去动手练习,在写代码的过程中掌握知识。
3.习题设计:小练习和实践可以帮助读者将所学的知识融会贯通,并且激发其探索编程领域中其他知识的欲望。
4.丰富的案例:案例能够帮助读者在实际应用中掌握编程知识,熟悉编程技巧,掌握更高层次的编程技能。
教学资源
本书随书赠送微课视频、课件PPT、课后习题答案、教学大纲等丰富的配套资源。
目录
上下滚动查看↓
前言2
内容简介4
目录5
第1章Python入门知识17
1.1欢迎来到Python的世界17
1.2Python开发环境的搭建与使用17
1.2.1获取Python18
1.2.2IDLE20
1.2.3Pycharm的使用26
1.2.4JupyterNotebook30
1.2.5强大的包管理器pip31
1.3Python编码规范38
1.3.1代码布局38
1.3.2自动检查调整45
本章小节47
本章习题48
第2章数据类型、基本计算49
2.1常用数值类型49
2.1.1整型(integer)50
2.1.2浮点型(float)52
2.1.3复数类型(