如何在PyCharm中键入非标准容器(例如OrderedDict)

时间:2017-01-12 13:46:10

标签: python pycharm restructuredtext type-hinting

我使用PyCharm作为开发Python 2.7程序的IDE。由于Python 3之前没有注释,我使用restructuredText作为文档字符串,以便PyCharm可以推断出参数和成员变量的类型。

这适用于标准和非参数类型,但我无法使用它来工作,例如与collections.OrderedDict。例如,我有一个OrderedDict,其密钥类型为str,值类型为MyDataSet

我可以在docstring

中考虑以下表示
# Values are recognized as correct class, but _member class is imprecise
:type _member: dict[str, MyDataSet]

# Class of _member is determined correctly, but values types are unknown
:type _member: OrderedDict
:type _member: OrderedDict[str, MyDataSet]

# Class of _member is imprecise and values types are unknown
:type _member: OrderedDict | dict[str, MyDataSet]
:type _member: dict[str, MyDataSet] | OrderedDict[str, MyDataSet]

现在我使用第一种方法,因为值类的知识对于重构很重要。有没有办法为自定义容器指定内容(键/值)类型,例如OrderedDict

0 个答案:

没有答案