是否可以 "hint" 字典键?

Is it possible to "hint" dictionary keys?

PyCharm Code completion > "Basic Completion" > "Invoke Basic Completion" > "Dictionaries" 中,我看到,如果将字典硬编码为某些值,则可以在以下情况下使用代码完成编写有关该词典的代码。

但显然,在许多情况下,您将使用字典,并且您事先知道该字典的结构是什么,并且您不想将字典硬编码到您的代码中。例如,也许您正在解析一些具有预期结构的 YAML 或 JSON。

如果您可以 "hint" Python 中的结构,那就太好了,这样您就可以轻松快速地对所有使用该词典的地方进行编码。这可能吗?

据我所知,在 Python 中引入 TypedDict 之前,没有一致的方法来 type-hint Python 字典的特定键名和关联值=] 3.8。

"official" Python 中还没有对类型化(提示)词典的支持。但是,mypy_extensions 包确实公开了 TypedDict,它支持以下语法来定义可由 MyPy 验证的类型化字典。

DictT = TypedDict(
    'DictT ',
    {
         'field': str, 
         'int_field': int,
    }
)

https://www.python.org/dev/peps/pep-0589/#alternative-syntax

然后您可以将 MyPy 集成到 PyCharm,但根据他们的错误跟踪器,不直接支持类型提示 TypedDicts https://youtrack.jetbrains.com/issue/PY-36008