You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于仅定义单个字段的TypedDict子类的技术疑问

问题解答

1. TypedDict 不需要强制包含 key/value 字段

TypedDict 的核心是定义特定结构的字典类型——它的类属性直接对应字典的键(key),属性的类型注解对应该键对应的值(value)的类型。

你看到的 MyClass 其实是在声明:符合这个类型的字典,必须有一个名为 messages 的键,这个键对应的 value 类型是 list(加上附加元数据 add_messages)。不存在“必须包含key和value字段”的要求,这是你对TypedDict的误解。

2. 此场景下的 key 和 value 是什么

  • 这里的 key 就是 messages——也就是字典里的键名,比如符合 MyClass 的字典会是这样:{"messages": [1, 2, 3]}
  • 对应的 value 就是这个键对应的列表,比如上面例子里的 [1, 2, 3]

3. Annotated 和 add_messages 的作用

Annotated 是Python类型提示里用来给类型附加元数据的工具,它不会改变原本的类型(这里原本的类型还是 list)。

注释里提到的 add_messages 是一个自定义的标记/函数,大概率是某个框架(比如表单处理、API参数解析类的框架)用来实现特殊逻辑的:当处理这个字段时,不是直接覆盖原有列表,而是往列表里追加新内容。这部分属于框架的扩展逻辑,和TypedDict本身的类型定义无关。


内容的提问来源于stack exchange,提问作者nmvega

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 18:52:39