如何为字典的字典键和值指定类型提示?

Edy*_*rne 5 python dictionary python-3.x python-typing

我有一本像这样的字典:

d = { 'my_label': ClassInstance() }
Run Code Online (Sandbox Code Playgroud)

我想指定类型提示来指示键是字符串,值是ClassInstance.

这在 Python 3.8 中可能吗?

我发现TypedDict但这似乎试图指示一组固定的键。我允许任何字符串作为键。

小智 11

是的,在 Python 3.8 中是可能的

首先导入字典类型提示:

from typing import Dict
Run Code Online (Sandbox Code Playgroud)

并添加类型提示如下:

d: Dict[str, ClassInstance] = { 'my_label': ClassInstance() }
Run Code Online (Sandbox Code Playgroud)

在 Python 3.9 中,无需通过键入导入 Dict(链接到 3.9 文档)即可执行此操作,如下所示:

d: dict[str, ClassInstance] = { 'my_label': ClassInstance() }
Run Code Online (Sandbox Code Playgroud)