M2 语言核心
模块设计原则
AI 时代的语法课不是「人肉文档」:每课建立思维模型,不逐个方法展开;方法查询交给 AI 和文档; 核心代码手写、细节代码 AI 辅助。贯穿示例全部来自大模型 API 场景——学习语法的同时就在接触 AI 开发。 课堂主线一览:JSON 取值学类型(L6)→ API 数据学结构(L7)→ 条件筛选学控制流(L8)→ 封装复用学函数(L9)→ 存档排错学 IO 异常(L10)→ AI 对话管理器学类(L11)。
核心心智模型:四种数据结构怎么选
来自 V011 的四句话——看到数据先问「要什么」,再选结构:
按位置存取、会增会删的序列。聊天记录、消息列表、待办清单。msgs.append(m)
用名字找内容,查找近 O(1)。API 返回的 JSON 本体、配置、计数器。cfg["model"]
定下来就不变的组合:坐标、函数多返回值、可哈希的字典键。x, y = pos
自动去重、快速判存在。URL 去重、停用词表。seen.add(url)
亲手验证——这是 L7 课堂主线的简化版(浏览器内直接运行):
「一切皆对象」到底什么意思
L6 引入这一概念,L11 讲类时再次呼应。如果中间几节课仍感到模糊,可进入 3D 内存空间逐行执行代码—— 对象如何创建、名字如何绑定、a is b 和 a == b 差在哪,一次演示清楚:
函数契约:好的契约 = 好的 Prompt
L9 的核心思维。写函数前先写清楚四件事——这四件事同样是你向 AI 描述需求的四件事:
count_words 而不是 func1——名字即文档,AI 也靠名字理解代码。
类型 + 含义 + 默认值,如 text: str, topk: int = 3。
返回 dict 还是 list?空输入返回什么?异常时抛还是返 None?
docstring 里放一个 doctest 示例——既是文档,也是测试。
随堂小测
延伸阅读
共 13 集
经典笔记(适合深入语法细节时查阅):4.5 列表 ·
6.4 字典 ·
5.3 循环 ·
5.4 函数 ·
5.6 作业Base64 ·
11.3 类
📽️ 授课课件:W3–W5 课件 →