PYTHON CLASSIC COURSE

Python 经典课程

从 Python 入门、基础语法和 Turtle 开始,继续学习游戏制作、算法、数据结构、人工智能、树莓派与 Tkinter。十五个系列构成一条完整的经典学习路线。

完整课程
403
学习系列
15
适合谁学
适合需要系统复习基础、扩充专题案例或继续学习早期项目课程的学生。
学完能够
能够阅读和编写完整程序,并把语法、算法、数据结构应用到真实项目。

HOW TO LEARN

像新版课程一样,先看路线,再按系列完成每一课

经典课程不是零散资料库。课程介绍、系列顺序、课时目录和相邻课程导航组成一条连续学习路径。

  1. 01
    先看课程介绍

    先确认开发环境、代码运行方式和整套课程的学习顺序。

  2. 02
    按基础到专题推进

    先完成基础语法,再进入游戏、算法、数据结构和应用专题。

  3. 03
    亲手运行每段代码

    不要只阅读结果;复制、修改、运行并解释输出,才能形成编程能力。

  4. 04
    用练习检验理解

    每学完一组内容,用月考、模拟卷或独立项目检查薄弱知识。

COURSE MAP

15 个课程系列,403 节完整课

选择一个系列开始学习。进入课时后,左侧仍保留完整课程树,右侧显示本课目录。

03
CLASSIC SERIES 03

Python第 01 期 - 基础

40 节课程 · 按本系列顺序连续学习

  1. 001 Python简介
  2. 002 Python在Windows下的环境搭建
  3. 003 交互式编程
  4. 004 变量
  5. 005 标识符和关键字
  6. 006 集成开发环境 - PyCharm
  7. 007 字符串 - 初识字符串
  8. 008 字符串与数字的转换
  9. 009 输入输出
  10. 010 运算符 - 算术运算符
  11. 011 运算符 - 赋值运算符
  12. 012 运算符 - 比较运算符
  13. 013 运算符 - 逻辑运算符
  14. 014 运算符 - 优先级
  15. 015 语句和注释
  16. 016 程序调试
  17. 017 Turtle – 初识Turtle
  18. 018 Turtle - 画笔的简单使用
  19. 019 分支结构 - 条件语句 if
  20. 020 分支结构 - 条件语句 if...else
  21. 021 分支结构 - 条件语句 if...elif...else
  22. 022 分支结构 - 条件语句嵌套
  23. 023 Turtle - 条件语句的应用
  24. 024 循环结构 - 初识 while 循环
  25. 025 循环结构 - while 无限循环
  26. 026 Turtle - while 循环语句的应用 1
  27. 027 Turtle - while 循环语句的应用 2
  28. 028 字符串 - 长度和索引
  29. 029 字符串 - 截取
  30. 030 数据结构 - 初识列表
  31. 031 数据结构 - 列表基本操作
  32. 032 循环结构 - 初识 for 循环
  33. 016_自学课 流程图标准符号
  34. 029_自学课 字符串 - 转义字符和长字符串
  35. 008_自学课 数据类型
  36. 009 第一次月考(1至9课)
  37. 018 第二次月考(10至18课)
  38. 025 第三次月考(19至25课)
  39. 032 第四次月考(26至32课)
  40. 001_1 PyGame
04
CLASSIC SERIES 04

Python第 02 期 - 基础

39 节课程 · 按本系列顺序连续学习

  1. 033 Turtle - for循环语句的应用 1
  2. 034 Turtle - for循环语句的应用 2
  3. 035 字符串 - 格式化及内置函数
  4. 036 函数 - 初识函数
  5. 037 函数 - 参数定义
  6. 038 函数 - 返回值
  7. 039 Turtle - 函数的应用 1
  8. 040 Turtle - 函数的应用 2
  9. 041 数据结构 - 列表的常用内置函数
  10. 042 数据结构 - 列表的推导表达式 一层循环
  11. 043 数据结构 - 列表的推导表达式 多层循环
  12. 044 数据结构 - 列表的推导表达式 一层判断
  13. 045 数据结构 - 列表的推导表达式 多层判断
  14. 046 综合实战一 - 时钟的制作 1
  15. 047 综合实战一 - 时钟的制作 2
  16. 048 综合实战一 - 时钟的制作 3
  17. 049 综合实战一 - 时钟的制作 4
  18. 050 数据结构 - 二维列表
  19. 051 数据结构 - 初识元组
  20. 052 数据结构 - 初识字典
  21. 053 数据结构 - 字典基本操作
  22. 054 数据结构 - 字典内置函数
  23. 055 运算符 - 成员运算符
  24. 056 数据结构的遍历
  25. 057 zip的使用
  26. 058 字典的合并及zip解包
  27. 059 综合实战二 - 学生信息管理系统1
  28. 060 综合实战二 - 学生信息管理系统2
  29. 061 综合实战二 - 学生信息管理系统3
  30. 062 综合实战二 - 学生信息管理系统 4
  31. 063 综合实战二 - 学生信息管理系统5
  32. 064 综合实战二 - 学生信息管理系统 6
  33. 041_自学课 代码书写规范
  34. 041_自学课 可迭代对象的概念
  35. 042_自学课 数据结构 - 列表的拷贝
  36. 040 第五次月考(33至40课)
  37. 049 第六次月考(41至49课)
  38. 058 第七次月考(50至58课)
  39. 064 第八次月考(59至64课)
05
CLASSIC SERIES 05

Python第 03 期 - 基础

40 节课程 · 按本系列顺序连续学习

  1. 065 数据结构 - 初识集合
  2. 066 数据结构 - 集合的基本操作
  3. 067 数据结构 - 集合的基本运算
  4. 068 文件 - 读文件
  5. 069 文件 - 写文件
  6. 070 文件 - with关键字及推导表达式
  7. 071 综合实战三 - 随机试卷1
  8. 072 综合实战三 - 随机试卷2
  9. 073 综合实战三 - 随机试卷3
  10. 074 综合实战三 -随机试卷 4
  11. 077 模块 - random包的使用 1
  12. 078 模块 - random包的使用 2
  13. 079 模块 - math包的使用 1
  14. 080 模块 - math包的使用 2
  15. 081 综合实战四 - 数据可视化1
  16. 082 综合实战四 - 数据可视化2
  17. 083 综合实战四 - 数据可视化3
  18. 084 综合实战四 -数据可视化 4
  19. 085 函数 - 可变类型与不可变类型
  20. 086 函数 - 默认参数与可变参数
  21. 087 函数 - 关键词参数及参数的组合
  22. 088 函数 - 匿名函数 lambda
  23. 089 函数 - 高阶函数 1
  24. 090 数据结构 - 字典推导表达式
  25. 091 综合实战五 - 文本数据的简单清洗1
  26. 092 综合实战五 - 文本数据的简单清洗2
  27. 093 综合实战五 - 文本数据的简单清洗3
  28. 094 综合实战五 - 模块化编程1
  29. 095 综合实战五 - 模块化编程2
  30. 096 综合实战五 - 模块化编程3
  31. 075课 模块 - 初识模块
  32. 076课 模块 - 包
  33. 079_自学课 模块 random包的使用 3
  34. 080_自学课 模块 - math包的使用 3
  35. 089_自学课 数据结构 - 字典排序
  36. 090_自学课 函数 - 高阶函数 2
  37. 074 第九次月考(65至74课)
  38. 080 第十次月考(75至80课)
  39. 088 第十一次月考(81至88课)
  40. 096 第十二次月考(89至96课)
06
CLASSIC SERIES 06

Python第 04 期 - 应用

32 节课程 · 按本系列顺序连续学习

  1. 097 面向对象 - 初识面向对象
  2. 098 面向对象 – 类定义
  3. 099 面向对象 – 类构造方法
  4. 100 面向对象 – 类对象的创建和使用
  5. 101 面向对象 – self使用详解
  6. 102 面向对象 – 类变量的创建和使用
  7. 103 面向对象 – 类的继承
  8. 104 图形化编程 - 初识图形化编程
  9. 105 图形化编程 – PyQt5安装配置
  10. 106 图形化编程 - PyQt5框架和常用界面
  11. 107 图形化编程 - PyQt5 菜单和工具栏
  12. 108 图形化编程 - PyQt5 控件 1
  13. 109 图形化编程 - PyQt5 控件 2
  14. 110 图形化编程 - PyQt5 控件 3
  15. 111 图形化编程 - PyQt5 控件 4
  16. 112 图形化编程 - PyQt5 控件 5
  17. 113 图形化编程 - PyQt5 控件 6
  18. 114 图形化编程 - PyQt5 控件 7
  19. 115 图形化编程 - PyQt5 对话框 1
  20. 116 图形化编程 - PyQt5 对话框 2
  21. 117 图形化编程 - 事件和信号 1
  22. 118 图形化编程 - 事件和信号 2
  23. 119 图形化编程 - 控件实践 1
  24. 120 图形化编程 - 控件实践 2
  25. 121 图形化编程 - 控件实践 3
  26. 122 图形化编程 - 控件实践 4
  27. 123 图形化编程 - 控件实践 5
  28. 124 图形化编程 - 控件实践 6
  29. 125 图形化编程 - 控件实践 7
  30. 126 图形化编程 - 布局 1
  31. 127 图形化编程 - 布局 2
  32. 128 图形化编程 - 布局 3
07
CLASSIC SERIES 07

Python第 05 期 - 应用

33 节课程 · 按本系列顺序连续学习

  1. 129 字数统计小程序1
  2. 130 字数统计小程序2
  3. 131 字数统计小程序3
  4. 132 字数统计小程序4
  5. 133 万年历实现1
  6. 134 万年历实现2
  7. 135 万年历实现3
  8. 136 万年历实现4
  9. 137 简化版Excel1
  10. 138 简化版Excel2
  11. 139 简化版Excel3
  12. 140 简化版Excel4
  13. 141 图形化编程 - 应用一 猜数字1
  14. 142 图形化编程 - 应用一 猜数字2
  15. 143 程序打包 - pyinstaller
  16. 144 pyqt小应用-计算器 1
  17. 145 pyqt小应用-计算器 2
  18. 146 pyqt小应用-计算器 3
  19. 147 pyqt小应用-计算器 4
  20. 148 pyqt小应用-计算器 5
  21. 149 pyqt小应用-计算器 6
  22. 150 pyqt小应用-播放器 1
  23. 151 pyqt小应用-播放器 2
  24. 152 pyqt小应用-播放器 3
  25. 153 pyqt小应用-播放器 4
  26. 154 pyqt小应用-播放器 5
  27. 155 pyqt小应用-播放器 6
  28. 156 pyqt小应用-画图 1
  29. 157 pyqt小应用-画图 2
  30. 158 pyqt小应用-画图 3
  31. 159 pyqt小应用-画图 4
  32. 160 pyqt小应用-画图 5
  33. 161 pyqt小应用-画图 6
08
CLASSIC SERIES 08

Python第 06 期 - 游戏制作

35 节课程 · 按本系列顺序连续学习

  1. 161 初识游戏编程
  2. 167 复合实践 1 - 2048游戏 1
  3. 168 复合实践 1 - 2048游戏 2
  4. 169 复合实践 1 - 2048游戏 3
  5. 170 复合实践 1 - 2048游戏 4
  6. 171 复合实践 1 - 2048游戏 5
  7. 172 复合实践 1 - 2048游戏 6
  8. 177 复合实践 2 - 接金币游戏 1
  9. 178 复合实践 2 - 接金币游戏 2
  10. 179 复合实践 2 - 接金币游戏 3
  11. 180 复合实践 2 - 接金币游戏 4
  12. 181 复合实践 2 - 接金币游戏 5
  13. 182 复合实践 2 - 接金币游戏 6
  14. 184 复合实践 3 - 消消乐游戏 1
  15. 185 复合实践 3 - 消消乐游戏 2
  16. 186 复合实践 3 - 消消乐游戏 3
  17. 187 复合实践 3 - 消消乐游戏 4
  18. 188 复合实践 3 - 消消乐游戏 5
  19. 189 复合实践 3 - 消消乐游戏 6
  20. 190 复合实践 4 - 24点游戏 1
  21. 191 复合实践 4 - 24点游戏 2
  22. 192 复合实践 4 - 24点游戏 3
  23. 193 复合实践 4 - 24点游戏 4
  24. 194 复合实践 4 - 24点游戏 5
  25. 195 复合实践 4 - 24点游戏 6
  26. 162 PyGame安装配置
  27. 163 PyGame Display学习
  28. 164 PyGame Draw学习
  29. 165 PyGame Font学习
  30. 166 PyGame Event学习
  31. 173 PyGame Surface学习
  32. 174 PyGame Transform学习
  33. 175 PyGame Time学习
  34. 176 PyGame Rect学习
  35. 183 PyGame其他模块自学
09
CLASSIC SERIES 09

Python第 07 期 - 游戏制作

32 节课程 · 按本系列顺序连续学习

  1. 196 打地鼠1
  2. 197 打地鼠2
  3. 198 打地鼠3
  4. 199 打地鼠4
  5. 200 打地鼠5
  6. 201 打地鼠6
  7. 202 打地鼠7
  8. 203 打地鼠8
  9. 204 五子棋1
  10. 205 五子棋2
  11. 206 五子棋3
  12. 207 五子棋4
  13. 208 五子棋5
  14. 209 五子棋6
  15. 210 五子棋7
  16. 211 五子棋8
  17. 212 贪吃蛇1
  18. 213 贪吃蛇2
  19. 214 贪吃蛇3
  20. 215 贪吃蛇4
  21. 216 贪吃蛇5
  22. 217 贪吃蛇6
  23. 218 贪吃蛇7
  24. 219 植物大战僵尸1
  25. 220 植物大战僵尸2
  26. 221 植物大战僵尸3
  27. 222 植物大战僵尸4
  28. 223 植物大战僵尸5
  29. 224 植物大战僵尸6
  30. 225 植物大战僵尸7
  31. 226 植物大战僵尸8
  32. 227 Turtle游戏1-赛龟
10
CLASSIC SERIES 10

Python第 08 期 - 算法

40 节课程 · 按本系列顺序连续学习

  1. 229 高精度计算算法介绍
  2. 230 高精度计算加法
  3. 231 高精度计算减法
  4. 232 高精度计算乘法
  5. 233 高精度计算除法
  6. 234 python内置高精度计算
  7. 235 高精度计算综合实战1
  8. 236 高精度计算综合实战2
  9. 237 排序算法介绍
  10. 238 排序算法复杂度
  11. 239 冒泡排序算法
  12. 240 快速排序算法
  13. 241 插入排序算法
  14. 242 希尔排序算法
  15. 243 选择排序算法
  16. 244 堆排序算法基础
  17. 245 堆排序算法
  18. 246 归并排序算法基础
  19. 247 归并排序算法
  20. 248 桶排序算法
  21. 249 计数排序算法
  22. 250 排序算法总结1
  23. 251 排序算法总结2
  24. 252 排序算法综合实战1
  25. 253 排序算法综合实战2
  26. 254 递推算法介绍
  27. 255 顺推算法
  28. 256 逆推算法
  29. 257 斐波那契数列
  30. 258 汉诺塔问题
  31. 259 平面分隔问题1
  32. 260 平面分隔问题2
  33. 261 递归算法1
  34. 261 猴子摘桃问题
  35. 262 递归算法2
  36. 262 母牛的问题
  37. 263 阶乘的求解
  38. 263 昆虫繁殖问题
  39. 264 斐波那契数列
  40. 264 五人分鱼问题
11
CLASSIC SERIES 11

Python第 09 期 - 算法

28 节课程 · 按本系列顺序连续学习

  1. 265 杨辉三角
  2. 266 集合的划分
  3. 267 数的计数
  4. 268 汉诺塔问题
  5. 269 波兰表达式
  6. 270 回溯算法1
  7. 271 回溯算法2
  8. 272 效益问题
  9. 273 子集和问题
  10. 274 素数环
  11. 275 八皇后问题
  12. 276 回文字符串寻找
  13. 277 数字的拆分
  14. 278 苹果放置
  15. 279 马的遍历
  16. 280 迷宫问题
  17. 281 递归与回溯算法的总结
  18. 282 贪心算法1
  19. 283 贪心算法2
  20. 284 背包问题
  21. 285 排队打水问题
  22. 286 活动选择1
  23. 287 活动选择2
  24. 288 整数区间
  25. 289 删数问题
  26. 290 均分纸牌
  27. 291 最大子序列和
  28. 292 分糖果问题
12
CLASSIC SERIES 12

Python第 10 期 - 数据结构

36 节课程 · 按本系列顺序连续学习

  1. 293 栈
  2. 294 链栈的实现1
  3. 295 链栈的实现2
  4. 296 斐波那契数列1
  5. 297 斐波那契数列2
  6. 298 括号的匹配1
  7. 299 括号的匹配2
  8. 300 队列
  9. 301 队列的实现1
  10. 302 队列的实现2
  11. 303 用队列实现栈1
  12. 304 用队列实现栈2
  13. 305 约瑟夫问题1
  14. 306 约瑟夫问题2
  15. 307 链表
  16. 308 链表的实现1
  17. 309 链表的实现2
  18. 310 合并有序链表1
  19. 311 合并有序链表2
  20. 312 双向链表实现双端队列1
  21. 313 双向链表实现双端队列2
  22. 314 树
  23. 315 二叉树
  24. 316 树的存储结构及实现1
  25. 317 树的存储结构及实现2
  26. 318 树的先序遍历
  27. 319 树的层序遍历
  28. 320 哈夫曼树1
  29. 321 哈夫曼树2
  30. 322 图
  31. 323 图的实现1
  32. 324 图的实现2
  33. 325 dijkstra算法1
  34. 326 dijkstra算法2
  35. 327 floyd算法1
  36. 328 floyd算法2
14
CLASSIC SERIES 14

Python第13期 - 树莓派

1 节课程 · 按本系列顺序连续学习

  1. 001 树莓派介绍
15
CLASSIC SERIES 15

模块:tkinter

28 节课程 · 按本系列顺序连续学习

  1. 01 第一个Tkinter程序
  2. 02 Tkinter常用控件及其属性
  3. 03 Tkinter控件的颜色和大小
  4. 04 Tkinter Frame控件
  5. 05 Tkinter pack()布局
  6. 06 Tkinter grid()布局
  7. 07 Tkinter place()布局
  8. 08 Tkinter事件介绍
  9. 09 Tkinter鼠标事件处理
  10. 10 Tkinter键盘事件处理
  11. 11 Tkinter拦截系统信息
  12. 12 Tkinter Button:按钮控件
  13. 13 Tkinter Canvas:绘图控件
  14. 14 Tkinter Checkbutton:复选框控件
  15. 15 Tkinter Entry:单行文本框
  16. 19 Tkinter Message:消息框
  17. 16 Tkinter Label:标签控件
  18. 17 Tkinter Listbox:列表框控件
  19. 18 Tkinter Menu:菜单控件
  20. 20 Tkinter Radiobutton:单选按钮控件
  21. 21 Tkinter Scale:滑动条控件
  22. 22 Tkinter Scrollbar:滚动条控件
  23. 23 Tkinter Text:文本框控件
  24. 24 Tkinter Toplevel:独立窗口控件
  25. 25 Tkinter messagebox:消息提示对话框
  26. 26 Tkinter filedialog:文件对话框
  27. 27 Tkinter colorchooser:颜色选取对话框
  28. 28 Tkinter实现简易的聊天窗口