编写键和项目的类型提示的正确方法

时间:2019-04-04 06:59:33

标签: python python-3.5 type-hinting typing

我有一些Python代码(可在Python 3.5、3.6和3.7上运行),并添加了一些使用mypy进行静态类型检查的类型提示。

请查看以下代码段:

class MyParams(Singleton, metaclass=MyParamsMeta):
    @classmethod
    def keys(cls):  # TODO -> type?
        return cls._params.keys()

    @classmethod
    def items(cls):  # TODO -> type?
        return cls._params.items()

    _params = _load_from_csv()  # returns Dict[str, MyParam]

def keys(cls)def items(cls)的正确类型提示语句是什么?

1 个答案:

答案 0 :(得分:0)

您可以使用typing模块

import typing

class MyParams(Singleton, metaclass=MyParamsMeta):
    @classmethod
    def keys(cls) -> typing.collections.KeysView:
        return cls._params.keys()

    @classmethod
    def items(cls) -> typing.collections.ItemsView:
        return cls._params.items()

    _params = _load_from_csv()  # returns Dict[str, MyParam]