阶段一:零基础入门Python
18门课 /课程总时长:39小时 /练习题:468 /大作业:4 /考试:4 /教辅资料:126
第1周 环境搭建与基础语法
欢迎加入Python 全栈工程师的学习,本周开始学习Python的基础,重点掌握Python基础语法, 学会搭建环境,掌握程序的执行入口和执行顺序,能够熟练使用Python基础语法实现第一个程序。
课程安排:
1、了解Python全栈工程师整体行业和发展
2、Python基础概念介绍
3、学会Python环境安装
4、会编写Python第一个脚本
5、变量与关键字的区分与应用
6、结合不同案例使用Python的七种数据类型
7、用生活案例理解运算符的操作
8、夯实Python基础的综合应用案例:小慕的一天
第2周 三大主流数据类型的操作
本周是夯实Python基础的新篇章,掌握字符串、列表及字典三大数据类型常用方法的应用,提升基础的编程能力。
课程安排:
1、认识Python对象
2、字符串的16种函数及应用
3、字符串的编码格式和格式化操作
4、使用特殊字符解决实际问题
5、列表的9种不同操作
6、索引与切片的应用
7、字典的8种函数及操作
8、不同数据类型与布尔值的关系
9、综合作业:实现货币兑换系统
第3周 Python流程控制与函数
本周是Python基础进阶的篇章,学习Python不同数据类型的转换,掌握Python的流程控制和函数的使用,再次提升编程能力。
课程安排:
1、掌握Python集合的CURD操作
2、学会不同数据类型间的转换
3、循环与条件语句的应用
4、break和 continue的区别与应用
5、函数的定义与使用
6、递归函数与匿名函数的应用
7、局部变量与全局变量的区别与使用
8、循环语句的应用案例:实现九九乘法表
9、综合案例:实现学生信息库
第4周 Python面向对象与异常处理机制
本周是Python核心知识的篇章,重点学习面向对象编程与异常处理机制,掌握 Python 类和对象的基本语法,了解 Python 面向对象的实现原理,提高编程效率。
课程安排:
1、掌握面向对象编程思想与三大特性
2、理解私有函数与私有变量
3、装饰器与类装饰器的使用
4、类高级函数的使用
5、捕获异常与自定义异常
6、断言的使用
7、编程中如何找BUG
8、应用案例:面向函数转面向对象
9、面向对象编程案例:升级学生信息库
10、综合作业:选修课程分配
第5周 Python模块与文件操作
本周是提升Python编写代码的效率篇章,重点掌握模块与包的操作、文件读写操作,常用加密工具与高阶函数的使用,会对代码进行有效管理。
课程安排:
1、代码组织管理:包与模块
2、会使用Python强大的第三包
3、Python内置库os与sys的应用
4、文件读写操作应用
5、序列化和yaml的使用
6、加密工具和日志模块的使用
7、Python高阶函数的应用
8、虚拟环境的安装与使用
9、综合作业:实现数字猜猜猜小游戏
第6周 Python多线程编程
本周学习程序设计开发中多任务实现的方式,重点掌握进程、线程、多进程、多线程及进程间的通信。
课程安排:
1、理解进程/多进程与线程/多线程的定义与区别
2、编程实现进程与线程的应用
3、学会多进程编程
4、掌握进程间通信的方法
5、GIL全局锁的使用
6、实现异步操作
7、明确进程池与进程锁的关系
8、使用进程池进行多任务开发
第7周 正则表达式与综合项目实战
本周是Python基础阶段的最后篇章,学习正则表达式,进行抽奖系统的综合项目开发与实战,再次强化巩固所学知识,提升编程能力,为后续阶段的学习打下坚实的基础。
课程安排:
1、掌握正则表达式的基础
2、重点掌握正则表达式re模块的应用
3、正则表达式的综合案例应用
4、实战开发:完成抽奖系统
5、面试与学习建议
6、综合作业:完成抽奖系统抽奖次数的限制功能
阶段二:Python数据库开发与实战
9门课 /课程总时长:21小时 /练习题:61 /大作业:1 /考试:1 /教辅资料:50
第8周 MySQL数据表的基本操作
到此掌握了Python的基本知识,正式进入项目开发前的必备数据库基础学习。本周学习MySQL数据库的安装和配置,并通过丰富的实例学习 SQL 语言的基础和数据库表的基本操作,为后续数据库开发打下基础。
课程安排:
1、学会用数据库管理数据
2、掌握数据库系统和数据库表的创建与管理
3、明确关系与非关系型数据库的区别
4、学会MySQL的安装与配置
5、掌握SQL的基础语法及数据类型
6、数据库的索引机制
7、数据库表的基本查询
8、课堂练习:强化MySQL基础
第9周 MySQL数据库的基本操作
本周进入数据库操作的学习,重点掌握MySQL数据库的高级查询,学会使用MySQL函数,提升数据库的管理能力。
课程安排:
1、学会聚合函数的使用
2、分组查询的应用
3、表的内外连接查询操作
4、学会子查询的语法规则
5、掌握数据库的CURD操作
6、明确子查询注意的事项
7、函数使用:时间函数、条件函数、字符函数
8、课堂作业讲解
第10周 Python与MySQL的交互
为了使数据库中的数据保证一致性,本周学习MySQL的事务机制,并重点掌握MySQL驱动模块Connector的使用,学会用Python操作MySQL。
课程安排:
1、理解事务机制的原理
2、掌握事务的ACID属性及四种隔离级别
3、数据导出与备份的区别与应用
4、数据库设计的综合案例:实现新闻管理系统
5、AES加密解密函数的使用
6、MySQL Connector模块的使用
7、掌握数据库连接池技术
8、学会SQL批处理执行
9、案例练习:SQL注入攻击案例
10、综合实战:MySQL Connector模块的综合使用
第11周 项目实战:Python数据库项目开发
到此学完了数据库的基础,为进一步提升数据库开发能力,本周进行实战开发的项目演练,从0到1实战开发出一个完整的新闻管理系统。
课程安排:
1、新闻管理系统项目介绍与展示
2、实战:封装数据库连接池
3、实战:创建新闻管理系统的具体python文件
3、实战:完善轮询中的判断
4、实战:实现新闻管理模块
5、实战:实现查询待审批新闻分页功能
6、实战:实现查询待审批新闻功能
7、实战:实现删除新闻功能
8、实战:完成用户模块
9、项目作业:完成新闻管理系统的审批新闻和删除新闻功能能
阶段三:从网页搭建入门Flask全栈项目实战
20门课 /课程总时长:32小时 /练习题:90 /大作业:3 /考试:3 /教辅资料:59
第12周 开发必备前端基础之HTML与CSS
恭喜大家进入Python Web全栈开发阶段,本阶段全流程敏捷开发社交网站,掌握前后端开发技术。本周学习开发必备前端基础知识HTML、CSS、浮动及定位等知识,学会应用布局进行页面开发。
课程安排:
1、本阶段项目演示与技术选型
2、前端开发必备的技能与能力
3、掌握HTML开发技术
4、使用表格进行各类型数据展示
5、学会用表单进行交互式页面设计
6、利用id属性实现锚点
7、学会CSS语法及应用
8、掌握盒子模型、div的设置及浮动的特效制作
9、综合作业:利用表单和table实现页面布局
第13周 开发必备前端基础之JavaScript与jQuery
JavaScript是前端开发中非常重要的内容,本周重点学习JavaScript和jQuery的语法,掌握前端基础知识,最终能开发出专业美观的页面。
课程安排:
1、入门JavaScript脚本语言
2、理解HTML+CSS+JS之间的关系
3、掌握JS的控制语法及JS事件响应与表单处理
4、掌握页面布局的方法
5、实战完成商品展示页的开发
6、构思规划页面和布局的方法
7、学会用jQuery操作DOM对象
8、掌握 jQuery处理事件的方法
9、综合案例1:结合所学完成前端油画商城开发
10、综合案例2:使用JS技术实现仿Windows计算器功能
11、综合作业:利用HTML、CSS和JS完成网页开发
第14周 入门企业级开发语言ES6与前端开发框架Bootstrap
提高前端开发效率必须使用框架,本周开始学习前端开发必备的语言ES6与框架Bootstrap,为后续前端实战开发打好基础,方便实现很多复杂的操作。
课程安排:
1、ES6与JavaScript的关系
2、ES6基础语法使用
3、ES6函数使用
4、ES6模块化思想
5、ES6中的继承
6、JS函数式编程演化为面向对象编程过程
7、字符串与对象的解构赋值
8、实现flex布局
9、Bootstrap框架的栅栏布局思想和排版
10、JS的模块化
第15周 前端开发实战:开发在线问答系统的前端页面
学完前端基础知识后,正式进入前端开发,本周基于Bootstrap框架,开发在线问答系统的前端页面。
课程安排:
1、首页整体布局的展示与分析
2、使用CSS布局实现首页顶航栏
3、问题列表布局的分析
4、实现flash消息提示
5、实现banner轮播图
6、实现登录页面的布局
7、使用jQuery完成表单前端验证
8、写文章页面的结构分析
9、使用浏览器缓存(localStorage)实现编辑内容临时保存
10、综合作业:开发文章详情页的前端页面
第16-17周 夯实框架基础:Python全栈开发必学后端主流框架Flask
本次要实现的是前后端分离项目,完成前端页面的开发之后,要进入后端框架的学习,本周重点学习Python Web开发的Flask框架,掌握Flask开发必备的基础,为后端开发打好基础。
课程安排:
1、掌握Flask微框使用方法
2、理解MTV模型的原理
3、掌握Flask请求响应的流程
4、学会视图重定向函数的应用
5、会对Flask模板jinja2进行正确配置
6、掌握Flask模板标签、过滤器及继承语法的使用
7、学会在视图中使用flash闪现消息
8、使用ORM进行增删改查
9、掌握WTF表单的使用
10、表单常用字段类型及渲染的操作
第18周 项目实战:Flask实战开发在线问答系统
学完框架Flask后,本周将前端页面整合到Flask框架进行实战开发在线问答系统的各个模块,重点掌握迭代开发的过程,敏捷开发的思维,跟着老师多多实战,不断地提升编程能力。
课程安排:
1、在线问答系统各个功能模块的展示与介绍
2、掌握敏捷开发与前后端开发技术
3、项目搭建:将问答系统前端页面整合到Flask框架
4、项目数据库的设计与实现:在线问答系统ORM分析与设计
5、项目模块化:使用蓝图来改进项目
6、掌握分页异步加载数据的技巧
7、结合Restfull开发技术实现点赞接口和评论数据接口
8、最重实现用户提问、回答、点赞、评论及收藏的核心业务功能
9、综合作业:实现在线问答系统的收藏功能
阶段四:Django全栈项目开发实战
13门课 /课程总时长:45小时 /练习题:93 /大作业:2 /考试:2 /教辅资料:60
第19周 入门Python Web全栈开发必备主流框架Django
本阶段会带着大家用Django+Vue开发商业级“慕旅游网”全栈项目,本周主要学习Python Web全栈开发必备主流框架Django,重点掌握Django框架基础、为后续全栈开发项目做好基础储备。
课程安排:
1、本阶段全栈项目演示与技术选型介绍
2、理解Flask和Django框架的区别
3、学会创建Django项目
4、掌握从请求到响应的处理
5、学会在视图中处理业务逻辑
6、掌握并使用Django模板引擎的渲染机制
7、学会模板变量、标签、继承、过滤器的使用
第20周 Django框架基础:ORM模型及应用
本周继续学习Django框架的基础之ORM模型,重点掌握ORM模型的基础,并会对数据进行相关操作。
课程安排:
1、学会Django ORM模型的配置
2、掌握常见的ORM字段类型
3、避免开发中ORM遇到的坑
4、使用ORM实现CRUD操作
5、掌握深入查询及事务机制的操作方法
6、使用QuerySet与QuerySet进行查询
7、学会用migrate同步数据到数据库
8、掌握外键的关联类型及复合类型的应用
9、掌握查询优化/聚合与统计/分页处理的应用
10、综合案例:创建用户模型
第21周 Django框架基础:表单及应用
本周继续学习Django框架的基础之表单,重点掌握表单的基本使用、自定义表单及文件上传操作,为后面的全栈开发夯实Django基础。
课程安排:
1、Django表单的应用
2、通过视图获取表单中的数据演示
3、掌握在Django中创建表单的4个步骤
4、掌握单个/多个表单验证的5个步骤
5、分析多个字段的验证场景
6、从ORM模型创建表单
7、通过表单/ORM实现文件上传
8、掌握处理文件上传的逻辑
9、综合案例:验证用户的手机号码格式是否正确
10、综合案例:验证用户的用户名和密码是否正确
第22周 前端框架基础:前端开发必学Vue框架
本周学习全栈开发的前端框架Vue,主要掌握Vue的框架思想,Vue全家桶及Vue组件通信的常见形式等,并学会使用Vue进行组件化开发。
课程安排:
1、掌握全栈项目架构设计与数据库设计思路
2、熟悉Vue全家桶:Vue/VueRouter/Vuex/VueCli/axios
3、理解Vue中的响应式
4、结合MVC、MVP讲解MVVM设计思想
5、掌握Vue全局组件和局部组件的区别
6、学会用Vue进行列表渲染与条件渲染
7、掌握Vue指令知识点及参数传递
8、Vue中的表单及双向绑定的应用
9、明确Vue过滤器的作用和使用场景
10、了解Vue组件通信的常见形式
第23周 项目实战:旅游网项目前端首页开发
学完前端框架之后,正式进入全栈项目前端开发,本周用Vue实战开发慕旅游网的前端,主要完成前端组件开发,后台接口开发以及接口联调,带你一个人撸完一个开发团队的工作。
课程安排:
1、使用VueCli搭建项目
2、项目结构调整:配置抽离、公共内容抽离、组件及文件结构说明
3、熟悉Webpack构建工具的作用
4、按照首页的分析结构新建对应的组件
5、异步请求库axios的基础使用,编写调用接口代码及解决调用时会产生的跨域问题
6、实现统一的请求和拦截封装
7、通过分析前端结构再组件化开发最后引用组件
8、后台接口开发:轮播图和景点
9、设计轮播图与景点ORM模型
10、实现轮播图与景点的API接口
第24周 项目实战:Django全栈开发旅游项目之景点详情模块
开发完前端后就要进入后端的开发,本周进行全栈项目景点详情相关功能的实战开发。
课程安排:
1、景点详情功能介绍
2、技术点分析
3、VueRouter实现多个页面开发
4、hash和history两种模式的实战应用
5、在模板和JS中实现路由的跳转
6、经验传授:路由命名,方便维护
7、景点详情页面实战开发:搭建前端详情页、实现预定组件、实现详情页、经典排序组件
8、Django景点分类ORM模型设计
9、API接口设计及开发
10、接口联调
11、前端代码优化:实现一次小的重构,将URL抽离到单独的文件
第25周 项目实战:Django全栈开发旅游项目之登录注册模块
本周继续开发项目的后端功能模块,完成登录和注册的实战开发。
课程安排:
1、分析登录与注册页面并确定技术选型
2、Redis高速缓存的应用
3、掌握Django自带的用户模块Django-auth
4、学会对多个用户进行权限管理
5、使用Django命令行创建用户,对用户的密码进行管理
6、引入Vuex进行用户状态管理
7、实战开发登录注册的前端页面
8、掌握用户模型ORM设计
9、实现图片验证码接口API开发
10、实现用户登录注册接口开发与联调
11、总结实际开发中的踩坑指南
第26周 项目实战:Django全栈开发旅游项目之订单支付模块
本周继续完成全栈项目的最后一个功能模块订单支付的开发,至此整个项目的前后端功能全部实现。
课程安排:
1、分析订单支付功能并确定技术选型
2、开发支付前端页面
3、开发下单支付接口
4、实现支付流程的演示与详解
5、实现各个功能间接口联调
6、开发中的踩坑指南及经验传授
7、综合作业:实现订单详情页的后端开发
第27周 项目实战:全栈开发旅游项目后台管理系统
完成前后端分离项目开发后,本周实现后台管理系统的开发,前后端+后台系统化实战训练,一步步夯实技术水平,胜任Python全栈工作。
课程安排:
1、慕旅游网后台管理系统的演示与功能介绍
2、掌握Django-admin的使用
3、使用admin管理景点和分类
4、掌握富文本及富文本支持的使用场景
5、实现将景点添加到缓存
6、实现将用户添加到后台管理
7、对用户角色和权限进行管理
8、掌握Echarts的基本使用
9、后台管理定制开发的踩坑指南
10、对慕旅游网核心模块进行单元测试
11、剖析Django实际项目开发中的问题
12、项目的常见部署方式
阶段五:Python自动化测试与部署实战
10门课 /课程总时长:23小时 /练习题:90 /大作业:1 /考试:2 /教辅资料:102
第28周 项目上线前的技术储备之Linux核心知识与应用
开发完Django项目后,要对项目进行部署、测试、上线。本周主要学习上线前的Linux基础知识,重点掌握Linux环境安装和基础命令操作,为后续项目部署夯实基础。
课程安排:
1、慕旅游网项目上线前的准备
2、Linux操作系统
3、Linux的不同发行版
4、虚拟机/云服务器安装CentOS
5、安装CentOS
6、图形界面和终端界面区别
7、查找命令和快捷键的使用
8、文件和目录命令操作
9、目录大小和切换操作
10、习题练习:基础命令的应用
第29周 Linux进阶知识与旅游网项目部署
本周要完成慕旅游网项目的部署,重点掌握Linux的一些高级操作和文本编辑器,最终用Uwsgi完成项目部署。
课程安排:
1、学会Linux中文件创建的操作
2、掌握文件的复制和移动操作
3、学会用户和权限和使用
4、掌握群组/文件权限的管理
5、Nano/Vim文本编辑器的应用
6、RTFM 阅读手册使用
7、对文件进行查找操作
8、使用Uwsgi完成项目部署
9、习题练习:夯实Linux命令
第30周 实战测试慕旅游网:接口自动化测试
本周对部署好的项目进行上线前的自动化测试,主要学习接口自动化测试,重点掌握用Unittest框架对慕旅游网进行全程实战接口测试,为成为一名接口自动化测试工程师奠定基础。
课程安排:
1、软件的生命周期
2、自动化测试的基础
3、接口测试的必备的基础知识
4、接口抓包工具fiddler的使用
5、如何模拟请求数据
6、如何解决无法抓包问题
7、get\\post请求测试结果的处理
8、上传\\下载文件接口测试
9、请求中header及cookie处理
10、通过requests实现接口测试
11、结合Unittest实战接口框架
12、生成测试报告
第31周 实战测试慕旅游网:Web自动化测试
为确保项目有质量保证,对项目不仅要进行接口测试,还要进行Web测试,本周重点学习Web自动化测试在实际工作中的应用,重点结合Unittest框架完成慕旅游网Web自动化测试框架的设计,掌握数据驱动在自动化测试中的应用。
课程安排:
1、明确Web自动化测试在实际工作中的应用
2、掌握Python-Selenium环境配置
3、Selenium元素定位操作实战
4、剖析Web自动化脚本设计常见场景
5、掌握PageObject框架设计模式和重要性
6、掌握数据驱动在自动化测试中的应用
7、使用Unittest框架进行实战测试
8、实现持续集成与日志规划及邮件通知
9、了解自动化测试平台的设计思路
第32周 全程实战测试:APP自动化测试
考虑到目前移动端的火爆,本周特意安排学习APP自动化测试,重点掌握用Appium框架对项目进行全程自动化测试实战,为了使项目正常发布上线,最后讲解互联网项目发布运维策略及阿里的智能化发布流程。
课程安排:
1、APP自动化与WEB自动化测试的异同
2、APP自动化测试的现状和前景
3、测试框架Appium工作原理与环境配置
4、Demo演示Appium完成自己的第一个自动化测试案例
5、Appium对手机元素定位与Web元素定位的不同
6、Appium对模拟手机中的操作
7、实战Appium自动化测试项目
8、互联网运维发布策略
9、阿里智能化发布流程