类型提示指定类型的集合


问题内容

使用Python 3的功能注释,可以指定包含在同类列表(或其他集合)中的项的类型,以便在PyCharm和其他IDE中进行类型提示。

一个int列表的伪python代码示例:

def my_func(l:list<int>):
    pass

我知道使用Docstring是可能的…

def my_func(l):
    """
    :type l: list[int]
    """
    pass

…但是我更喜欢注释样式。


问题答案:

回答我自己的问题;TLDR的回答是“

更新2

2015年9月,Python 3.5发布,支持类型提示,并包含一个新的 类型输入
模块
。这允许指定集合中包含的类型。截至2015年11月,JetBrains
PyCharm 5.0完全支持Python 3.5包含类型提示,如下所示。

使用类型提示的PyCharm
5.0代码完成

更新1

截至2015年5月,PEP0484(类型提示)已被正式接受。草案的实现也可以在github的ambv
/ typehinting下找到

原始答案

自2014年8月起,我已经确认无法使用Python 3类型注释在集合中指定类型(例如:字符串列表)。

诸如reStructuredText或Sphinx之类的格式化文档字符串的使用是可行的替代方法,并且受各种IDE支持。

看来,Guido还本着mypy的精神考虑了扩展类型注释的想法:http ://mail.python.org/pipermail/python-
ideas/2014-August/028618.html