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

如何使用Python内置库通过类型提示指定返回字典的键对应类型

答案

可以实现,Python 内置的typing模块提供了专门的解决方案,你写的直接在dict参数里写键值对类型的语法不合法,需要用TypedDict实现逐键指定类型的效果:

方案:使用 TypedDict(Python 3.8+ 内置支持)

TypedDict是专门用于标注固定键、每个键对应固定类型的字典结构的类型工具,使用示例如下:

from typing import TypedDict

# 先预定义返回字典的结构
class FooReturn(TypedDict):
    key1: set
    key2: bool
    key3: int

# 函数直接用定义好的结构做返回值标注
def foo() -> FooReturn:
    # 业务代码
    my_dict = {
        "key1": {1, 2, 3},
        "key2": True,
        "key3": 100
    }
    return my_dict

补充说明:

  • 所有主流类型检查工具(mypy、pyright、Pycharm内置类型检查等)都能识别TypedDict标注,会自动校验返回字典的键是否缺失、对应值的类型是否匹配
  • 如果使用Python 3.7版本,可以引入from __future__ import annotations延迟类型注解求值,配合typing_extensions模块的TypedDict使用(3.8及以上版本无需额外依赖,TypedDict已纳入内置typing模块)
  • 普通的dict[K, V]泛型标注只能统一指定所有键的类型、所有值的类型,无法实现逐个键指定不同类型的需求,只适合键不固定的动态字典场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 00:06:03