# Python进阶课程-卡码学院
很多同学学完 Python 基础语法之后,都会遇到一个问题:接下来该学什么?
变量、循环、列表、字典都会用了,也能写函数和简单的类,甚至已经开始刷算法题了。
但真正去读项目代码、自己写一个小工具的时候,又会发现:
- 明明只修改了一个列表,为什么另一个变量的内容也变了?
- 函数的默认参数,为什么会“记住”上一次调用的结果?
- 别人代码里的
yield、@装饰器、with,看着眼熟,自己却不知道怎么用。 - 脚本越写越长,文件怎么拆、依赖怎么管、报错怎么查,都没有清晰的思路。
- 想让程序同时处理多个任务,线程、进程、
asyncio又该怎么选?
这些问题,单靠再看一遍基础语法,很难解决。零散查资料,也容易学了一个知识点,却不知道它和其他知识有什么关系。
所以,我们推出了这门 Python进阶课程。
带大家从“会写 Python 基础语法”,走到“理解代码为什么这样运行,并能把知识用到项目里”。
本课程在【卡码学院 (opens new window)】完成学习,可以感受一下点击,看看卡码学院的学习氛围。
# 这门课解决什么问题?
Python基础课帮助编程零基础的同学掌握语法,为刷算法题打基础。
进阶课则适合已经有基础的同学,继续沿着下面这条路线学习:
语言机制 → 高级语言特性 → 工程化 → 真实应用 → 并发与解释器内部。
为什么先讲对象引用,再讲闭包、装饰器?因为这些知识之间有联系。先理解变量和对象的关系,再去看参数传递、对象共享、闭包里的变量,就更容易想明白。
为什么还要学日志、测试和项目结构?因为代码写出来之后,还需要定位问题、验证修改,并且能继续维护。
这门课希望大家既能解释代码的运行结果,也能自己动手,把一个程序逐步写完整。
# 课程有什么特点?
- 有明确的学习顺序。 5个阶段、16章、46节,从语言机制逐步走到项目实践与并发原理。
- 每节都有教程和可提交练习。 46节对应46项编程练习,学完一个知识点,就动手验证自己的理解。
- 把常见困惑讲到机制层面。 对象共享、深浅拷贝、默认参数、闭包、GIL,这些容易“记住结论却不会判断”的知识,会在课程中系统学习。
- 把工程中要用的能力串起来。 文件、模块、虚拟环境、异常、日志、调试、测试与类型提示,都有对应的学习内容。
- 有综合项目,也继续追问原理。 用 SQLite、HTTP 接口和并发完成综合项目后,再深入事件循环、I/O 多路复用、GIL 与调度。
还是那句话:只看不练,看了也容易忘。 进阶知识尤其需要自己写代码、观察结果,再回头理解机制。
# 课程目录
共5个阶段、16章、46节,每节配有教程与可提交练习。 大家可以对照目录,看看自己目前有哪些知识还没有系统学过。
# 第一阶段:语言机制
先弄清楚 Python 中对象、变量、函数和作用域是如何工作的,理解常见代码行为背后的原因。
# 第1章:对象与变量机制
- 对象、变量与引用
- 可变与不可变对象
is、==、哈希与对象身份
# 第2章:拷贝、参数与数据模型
- 浅拷贝与深拷贝
- 参数传递机制
- 默认参数、对象共享与常见陷阱
# 第3章:高级数据结构
dict/set深入collections常用工具- 排序、分组与复杂数据处理
# 第4章:函数高级编程
- 函数是一等对象
*args/**kwargs与参数设计- 高阶函数、
lambda与functools
# 第5章:作用域与闭包
- LEGB 与命名空间
global/nonlocal- 闭包与 late binding(延迟绑定)
# 第二阶段:高级语言特性
理解项目代码里经常出现的迭代器、生成器、装饰器和上下文管理器,并进一步学习如何设计类与对象行为。
# 第6章:迭代器与生成器
- Iterable 与 Iterator
- Generator 与
yield - 生成器管道与惰性计算
# 第7章:装饰器与上下文管理
- 函数装饰器
- 带参数装饰器与
wraps - Context Manager 与
contextlib
# 第8章:面向对象进阶
- 类、实例与属性机制
- 继承、
super与多态 - 组合、依赖与面向对象设计
# 第9章:Pythonic 数据模型
property/classmethod/staticmethoddataclass/Enum- dunder methods(双下划线特殊方法)与自定义对象行为
# 第三阶段:工程化
把代码组织成项目,学会管理依赖、处理错误、记录日志、编写测试,让后续的修改和排错更有依据。
# 第10章:文件、模块与项目结构
pathlib、文件、CSV 与 JSON- module、package 与
import venv、pip、依赖与项目结构
# 第11章:异常、日志与调试
- 异常体系与错误设计
logging与日志设计- debugger、traceback 与系统化排错
# 第12章:测试与代码质量
pytest与单元测试- fixture、parametrize 与 mock
- 重构、类型提示与代码质量
# 第四阶段:真实应用
开始连接数据库、调用网络接口、处理并发任务,并通过综合项目把前面的知识串起来。
# 第13章:数据库与网络开发
- SQL 与 SQLite
- Python 数据库编程
- HTTP、REST API 与
requests
# 第14章:并发与综合项目
threading与线程池multiprocessing与asyncio入门- 综合项目、重构与课程总结
# 第五阶段:并发与解释器内部
在会使用并发工具之后,继续理解程序如何等待 I/O、事件循环如何运行,以及线程安全和调度相关的问题。
# 第15章:I/O 多路复用与事件循环
select、epoll与 I/O 多路复用- Future、Task 与事件循环
# 第16章:GIL 与调度
- GIL、字节码与线程安全
- 线程调度与事件循环调度
# 学完之后,可以收获什么?

课程围绕下面这些能力展开,大家也可以把它们作为学习后的自查清单:
- 解释常见的 Python 代码行为。 用名字绑定和对象引用的模型,分析共享引用、拷贝、参数传递和闭包相关的问题。
- 使用高级特性组织代码。 用生成器按需处理数据,阅读并实现常见装饰器和上下文管理器,设计行为清楚的类。
- 把脚本组织成项目。 处理文件编码、CSV 和 JSON,组织可安装的包,并用虚拟环境管理依赖。
- 定位问题并验证修改。 设计异常与日志,读懂 traceback,使用调试器,并通过
pytest、mock 和类型检查辅助重构。 - 完成涉及数据与网络的应用。 使用 SQLite 存取数据,用
requests调用 REST 接口,并根据任务特点选择线程、进程或asyncio。 - 理解并发中的常见问题。 结合 I/O 多路复用、事件循环、GIL 和调度机制,分析阻塞、竞态与死锁。
建议大家学完一节,就完成这一节的练习。能自己写出来、能解释为什么这样写,才更容易在后面的项目中用起来。
# 上课方式
进入Python进阶课程介绍页 (opens new window),可以先查看完整大纲、适合人群和学习要求。
获得课程访问权限后,从课程页点击【去学习】,按照目录逐节学习。
左边教程、右边写代码:

这里可以看到课程目录,按照章节学习:

每一章节都配置图文并茂的讲解:


每一章节都有配套任务,也有答案,在右边完成对应代码任务

# 报名方式
扫码后,会看到,单独购买(99元)和拼单购买(90元)两种方式, 可以找身边的伙伴拼单,也可以自己和自己拼单。

可以加入拼单群,寻找一起拼单的伙伴:

支付后,该课程在卡码网就会自动开动,登录卡码学院(https://study.kamacoder.com/) ,查看【我的课程】

# 我适合报名吗?
以下同学适合学习:
- 已经掌握 Python 基础语法,会写函数、列表、字典和简单的类。
- 能在终端运行 Python 脚本,并阅读报错信息。
- 用 Python 刷过题、写过小脚本,希望系统理解语言机制。
- 看过一些装饰器、生成器、并发相关资料,但知识比较零散,想通过一条完整路线边学边练。
- 希望继续学习项目结构、日志、测试、数据库和网络开发,写出更可靠的代码。
如果你是编程零基础,建议先学习Python基础课,掌握基本语法后再来学进阶课程。
如果你已经能熟练使用以上特性,独立完成项目,并能解释对象模型、事件循环和 GIL 等机制,可以先对照目录,判断课程是否覆盖自己的知识缺口。
# 常见疑问
问:学完 Python 基础课,就可以接着学吗?
答:可以将它作为下一步学习路线。开始前,建议确认自己已经能独立写函数、使用列表和字典、定义简单的类,并能在终端运行 Python 脚本、阅读报错信息。
问:已经用 Python 刷题了,还有必要学吗?
答:可以先对照目录。刷题会让大家熟悉语法和数据结构;如果对象引用、闭包、装饰器、项目组织、测试、网络与并发这些内容还不熟悉,这门课可以帮助你继续系统学习。
问:只有教程,还是也有练习?
答:共46节,每节配有教程和可提交练习。建议把练习作为每节学习的一部分,完成之后再继续往下学。
问:会学到实际项目需要的知识吗?
答:会。课程包含文件处理、模块与包、虚拟环境、异常、日志、调试、测试、类型提示、SQLite、HTTP 接口和并发,并安排了综合项目与重构内容。
问:大概需要学多久?
答:课程页当前标注的预计学习时长约为44小时25分钟。每个人的基础、练习和排错耗时不同,建议以完成教程和练习为进度标准,给自己留出动手验证和回顾的时间。
问:是视频课程吗?
答:不是视频课程,是图文 + 配套代码练习系统。
评论
验证登录状态...