如何为以整数为键的Python字典添加类型提示?
解决方案:使用泛型字典类型提示
你说的没错,TypedDict确实只适用于字符串(或枚举类型)作为键的结构化字典场景,整数键的普通字典没法用它。针对你的需求,直接用泛型的Dict(或Python 3.9+的内置dict)就能实现正确的类型提示。
两种实现方式
1. 兼容Python 3.8及以下版本
使用typing模块里的Dict泛型,明确指定键类型为int,值类型为你的自定义类A:
from typing import Dict class A: a = 4 def my_f() -> Dict[int, A]: return {0: A()}
2. Python 3.9+ 简化写法
从Python 3.9开始,内置的dict支持直接加泛型参数,不需要额外导入Dict:
class A: a = 4 def my_f() -> dict[int, A]: return {0: A()}
补充说明
如果需要更复杂的映射类型(比如只读映射),还可以用typing.Mapping[int, A],不过对于普通的可变字典,上面两种写法完全足够。
内容的提问来源于stack exchange,提问作者roschach
相关产品推荐
相关产品推荐

