这门课解决什么工作场景
很多写 Python 的上班族,平时能照着文档把接口拼起来,但一遇到处理大批量数据、排查底层报错,或者给团队写点通用工具,就会卡壳。这门资料围绕数据结构、单元测试和 shell 脚本展开,解决的就是“代码能跑”到“代码能维护”之间的断层。它不教你怎么做个大网站,而是帮你理清:列表和链表在什么场景下性能差异巨大、写完函数怎么验证它没崩、以及怎么用脚本把重复的部署操作自动化。
适合什么基础与建议先看哪几块
这套内容适合已经能独立写出基础 Python 语法、知道怎么定义函数和类的读者。如果你连循环和字典都还生疏,建议先补完基础再来看。资料里关于时间复杂度和空间复杂度的推导比较细,建议优先看这块,建立对“代码执行成本”的直觉;接着看顺序表与链表的实现对比,理解数据在内存里是怎么存的。单元测试部分不要跳过,它是后面写复杂逻辑时敢于重构的底气。shell 脚本部分可以结合自己平时工作里的重复劳动来对照着看。
学完能独立做什么与资料怎么配合练习
学完后,你能在面对一段低效代码时,独立分析出它的时间复杂度并做针对性优化;能为自己写的工具函数补上测试用例,而不是全靠肉眼 print 调试;还能写出让运维流程自动跑起来的脚本。配合练习时,不要只顺着视频看一遍概念。建议每学完一种数据结构(比如单向链表),就关掉资料,自己在编辑器里从零敲一遍增删查改的逻辑,再写几个单元测试去验证边界条件。数据结构是内功,测试和脚本是工程习惯,只有手敲过、跑过测试用例,这些知识才会真正变成你解决实际问题的工具。
数据结构+单元测试+shell脚本
课程目录
* 第一章 数据结构和算法/
* 数据结构算法引入/
* 01_学习数据结构算法的原因
* 02_由一道题引入算法的概念
* 时间复杂度和空间复杂度/
* 03_算法的时间效率衡量
* 04_时间复杂度
* 05_最优最坏时间复杂度
* 06_时间复杂度的计算
* 07_空间复杂度
* 08_常见时间复杂度
* 09_Python列表类型性能测试
* 10_列表字典内置操作的时间复杂度
* 数据结构概念/
* 11_数据结构的概念
* 顺序表/
* 12_顺序表的形式
* 13_顺序表的结构与扩充
* 14_顺序表增加删除元素
* 15_Python内置列表的技术实现
* 16_Python列表内置操作时间复杂度分析
* 17_列表元素逆置操作的时间复杂度
* 连表/
* 01_认识链表
* 02_Python变量的本质
* 03_单向链表的定义
* 04_单向链表盼空、长度、遍历
* 05_单向链表增加结点
* 06_单向链表删除结点
* 07_双向链表
* 08_单向循环链表
* 栈和队列/
* 01_栈
* 02_队列_双端队列
* 常见排序算法/
* 03_排序算法的稳定性
* 04_冒泡排序
* 05_冒泡排序实现
* 06_选择排序
* 07_插入排序
* 08_希尔排序
* 09_希尔排序算法实现
* 10_快速排序
* 01_归并排序
* 02_归并算法的时间复杂度
* 二分查找/
* 03_二分查找递归版本实现
* 04_二分查找及非递归版本实现
* 树/
* 05_树的认识及概念
* 06_树的应用_数据库索引
* 07_二叉树的概念与性质
* 08_二叉树的广度优先遍历
* 09_二叉树添加结点与广度优先遍历实现
* 10_二叉树的三种深度优先遍历
* 11_二叉树由遍历结果反推二叉树结构
* 第二章 单元测试/
* 测试理论回顾/
* 01测试理论回顾_
* 单元测试介绍/
* 02_单元测试优缺点
* 03_单元测试
* 04_单元测试流程
* 测试计划/
* 05_如何确定要测代码
* 06_语句覆盖率、分支覆盖率
* 07_条件覆盖率
* 08_条件覆盖率_练习3
* 09_条件覆盖率练习4
* 10_路径覆盖率
* 11_分支条件覆盖率
* 12_练习4汇总
* 13_测试计划总结
* 14_自上到下
* 测试策略/
* 15_测试策略-设计
* 16_测试策略设计
* 17_测试策略设计-案例2
* 18_测试策略设计-案例3
* 19_测试策略设计-案例4_上
* 20_测试策略设计-案例4_下
* 21_测试策略设计-while循环
* 22_测试策略设计-三角形
* 23_测试策略设计-三角形下
* 24_测试策略实现总结
* 01_回顾
* 测试执行/
* 02_练习Calc类
* 03_参数化概念
* 04_参数化方式
* 05_xml数据文件编写
* 06_xml读取模块封装
* 07_xml数据读取案例
* 08.xml总结
* 09_csv参数化读取封装
* 10_CSV读取演示
* 11_csv总结
* 12_JSON读取分析
* 13_JSON文件编写
* 14_JSON读取函数封装
* 15_JSON-测试三角形函数
* 16_txt创建文本
* 17_TXT读取封装
* 18_TXT执行三角形
* 19_参数化总结
* 20_生成测试报告
* 第三章 shell编程/
* shell简介/
* day01.01_shell_课程安排
* day01.02_shell_shell概述_上
* day01.03_shell_shell概述_中_Linux下编写执行流程
* day01.04_shell_shell概述_中_Linux下编写执行流程_练习
* 基本语法和变量/
* day01.05_shell_shell语法_注释
* day01.06_shell_shell语法_变量_基本使用
* day01.07_shell_shell语法_变量_注意事项
* day01.08_shell_shell语法_变量_分类_本地变量与全局变量
* day01.09_shell_shell语法_变量_分类_内置变量
* day01.10_shell_shell语法_变量_命令结果赋值给变量
* day01.11_shell_shell语法_变量_练习
* 运算符/
* day01.12_shell_shell语法_运算符_概述
* day01.13_shell_shell语法_运算符_上
* day01.14_shell_shell语法_运算符_下
* day01.15_shell_shell语法_运算符_练习
* day01.16_shell_shell_课堂测试
* day01.17_shell_总结
* shell函数/
* day02.01_shell_内容概述
* day02.02_shell_函数_语法
* day02.03_shell_函数_练习1
* 流程控制/
* day02.04_shell_流程控制_概述
* day02.05_shell_流程控制_if与ifelse
* day02.06_shell_流程控制_ifelif多分支实现
* day02.07_shell_流程控制_if练习
* day02.08_shell_流程控制_case
* day02.09_shell_流程控制_case与if比较
* day02.10_shell_流程控制_case练习
* day02.11_shell_流程控制_for
* day02.12_shell_流程控制_for_练习
* day02.13_shell_流程控制_while
* day02.14_shell_流程控制_while_练习
* shell补充内容/
* day02.15_shell_重定向
* day02.16_shell_数组
* day02.17_shell_综合案例
* day02.18_shell_课堂测试
* day02.19_shell_总结
* 阶段作业 数据结构+单元测试+shell脚本-第1套试卷/
* 试卷






