跳转到主要内容
eLearner.app

互动课程

Python课程

用英语从头开始学习 Python,将 CPython 编译为 WebAssembly:您的代码直接在浏览器中运行。

01 · 模块 1 — 语言基础知识

4 节课

基础:声明变量、识别类型、进行算术、做出决策并打印到控制台。

  1. 1.1变量和类型为值命名,使用 type() 发现类型,了解 int / float / str / bool / None。~10 min
  2. 1.2运营商算术(包括 // 和 **)、比较、带有与/或/非的布尔逻辑、优先级。~10 min
  3. 1.3条件语句:if、elif、else根据条件运行不同的代码;缩进的作用。~10 min
  4. 1.4打印和 f 字符串print() 显示值,f 字符串通过 `{var}` 插值组成文本。~8 min

02 · 模块 2 — 控制流程

4 节课

重复、跳转、处理错误:使程序对数据和问题做出反应的结构。

  1. 2.1for 循环和范围使用 for 迭代序列,使用 range(start、stop、step) 生成数字范围。~10 min
  2. 2.2while 循环当条件成立时重复;何时更喜欢 while 而不是 for。~8 min
  3. 2.3Break、Continue 和 else 循环尽早退出循环、跳过迭代、使用特有的 for...else。~10 min
  4. 2.4错误处理:尝试/例外捕获特定的异常,区分 try/ except/else/finally,用 raise 引发错误。~12 min

03 · 第 3 单元 — 数据结构

4 节课

四个内置集合:list(可变序列)、tuple(不可变序列)、dict(键值映射)和set(唯一元素的集合)。

  1. 3.1列表创建、按索引和切片访问、添加和删除、排序。您最常使用的顺序。~12 min
  2. 3.2元组和拆包不可变序列、打包和解包、没有临时变量的交换、* 其余的。~10 min
  3. 3.3词典键→值映射,使用 [] 和 .get 访问,迭代键/值/项目,dict.setdefault。~12 min
  4. 3.4套装唯一元素的集合、集合运算 (& | - ^)、O(1) 成员资格测试。~10 min

04 · 模块 4 — 字符串和数字

4 节课

以惯用方式处理文本(方法、切片)和数字(数学、类型转换)。

  1. 4.1字符串方法最常用的方法:upper/lower、strip、split/join、replace、startswith/endswith、find/in。~12 min
  2. 4.2切片和索引正索引和负索引、切片 [start:stop:step]、字符串反转、子字符串。~10 min
  3. 4.3数字和数学模块int、float、true 与整数除法、% 模、abs/round/min/max、math.sqrt、math.pi。~10 min
  4. 4.4类型转换int()、float()、str()、bool():显式转换、输入解析、值的真实性。~10 min

05 · 模块 5 — 功能

4 节课

使用 def 定义函数、返回值、管理默认参数、*args/**kwargs 和 lambda。

  1. 5.1定义并返回def 语法、返回值(显式和隐式 None)、位置参数、文档字符串。~12 min
  2. 5.2默认参数和关键字参数默认值、使用关键字参数调用、关键字之前的位置顺序、可变的默认陷阱。~12 min
  3. 5.3*args 和 **kwargs可变参数函数:*args 收集位置,**kwargs 收集关键字。在呼叫站点打开包装。~12 min
  4. 5.4Lambda 和高阶函数带 lambda 的匿名函数,与排序/最大/最小一起使用,何时更喜欢 def、sorted(..., key=...)。~10 min

06 · 模块 6 — 推导式和迭代

4 节课

列表/字典/集合推导式、生成器表达式和 itertools 模块的基本工具。

  1. 6.1列表理解语法 [expression for x in iter if cond]、转换、过滤、嵌套。~12 min
  2. 6.2字典和集合理解语法 {k: v for ...} 和 {x for ...} 以声明方式构建字典和集合。~10 min
  3. 6.3生成器表达式语法(... for ... in ...)、惰性迭代、常量内存、生成器上的 sum/any/all。~10 min
  4. 6.4必备的 itertools最常用的函数:枚举、压缩、链、计数、重复、组合。~12 min

07 · 模块 7 — 类和模块

4 节课

Python 中的面向对象编程:类、继承、特殊方法 (dunder)、导入和模块组织。

  1. 7.1类和实例类、__init__、实例属性和方法、self、类与实例属性。~14 min
  2. 7.2继承子类、super()、方法重写、isinstance、基本 MRO。~12 min
  3. 7.3特殊方法(dunder)__str__、__repr__、__eq__、__len__:将对象与语言集成。~12 min
  4. 7.4导入和模块import、from ... import、别名为、模块组织、if __name__ == "__main__"。~10 min

08 · 模块 8 — 基本标准库

4 节课

你每天都会遇到的标准库模块:json、datetime、collections、re。

  1. 8.1JSON:序列化和解析json.dumps / json.loads,Python ↔ JSON 类型映射,缩进,排序键,默认。~10 min
  2. 8.2日期时间:日期和时间datetime.now(),日期/时间/datetime/timedelta,用strftime格式化,用strptime解析,算术。~12 min
  3. 8.3集合:Counter 和 defaultdictCounter用于计数,defaultdict用于自动初始化字典,namedtuple作为轻量级记录。~12 min
  4. 8.4re 模块:Python 中的正则表达式re.search / re.match / re.findall / re.sub、标志、原始字符串 r"..."、命名组。~12 min

09 · 模块 9 — 现代 Python:实践

4 节课

现代 Python 实践:类型提示、数据类、上下文管理器和装饰器。你在 2025 年编写的代码。

  1. 9.1类型提示:注释类型参数和返回的注释,list[int] / dict[str, int],Optional,Union,关于mypy的注释。~12 min
  2. 9.2dataclass:没有样板的数据类@dataclass, field(default_factory=...), freeze=True, 相当于 __init__/__repr__/__eq__。~12 min
  3. 9.3上下文管理器:with 和 __enter__/__exit__使用 open(...),使用 __enter__/__exit__、contextlib.contextmanager 编写自己的上下文管理器。~12 min
  4. 9.4装饰器:修饰函数的函数高阶函数、@decorator 语法、functools.wraps、@timeit 示例。~14 min