在PyCharm Code completion>“基本完成”>“调用基本完成”>“字典”中,我看到,如果将字典硬编码为某些值,则在编写有关该字典的代码时可以使用代码完成。
但是显然,在很多情况下,您将使用字典,并且事先了解该字典的结构是什么,并且您不想将字典硬编码到代码中。例如,也许您正在解析一些具有预期结构的YAML或JSON。
如果您可以“暗示” Python中的结构,那将非常好,这样您就可以轻松,快速地编写使用该字典的所有位置的代码。有可能吗?
答案 0 :(得分:3)
据我所知,在Python 3.8中引入TypedDict
之前,尚无商定的方式来提示Python字典的特定键名和关联值。
答案 1 :(得分:1)
Python中还没有对类型(提示)字典的“官方”支持。但是,mypy_extensions
包确实公开了TypedDict
,它支持以下语法来定义可以由MyPy验证的类型化字典。
DictT = TypedDict(
'DictT ',
{
'field': str,
'int_field': int,
}
)
然后您可以将MyPy集成到PyCharm中,但是根据他们的错误跟踪器,不直接支持类型提示TypedDicts https://www.python.org/dev/peps/pep-0589/#alternative-syntax。