用于N个列表的列表的Python注释

时间:2018-04-10 22:23:56

标签: python annotate

我希望注释我的返回类型,它恰好是一个包含int类型的N列表的列表。这种格式 ... private Service<String> s; protected void startLoadingService() { if (s != null) return; // started already s = new Service<String>() { ... 可以吗?该参数实际上看起来像

list[list[int]]

1 个答案:

答案 0 :(得分:1)

是的,List[List[int]]是正确的类型。

作为一个补充说明,每当不确定类型时,都可以定义该变量,然后使用Mypy reveal_type方法让其猜测正确的类型。例如:

> cat foo.py
a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
reveal_type(a)

> mypy foo.py
1.py:2: note: Revealed type is 'builtins.list[builtins.list*[builtins.int]]'

,它告诉您a的类型为List[List[int]]。请注意,reveal_type不是有效的函数;这是Mypy中内置的一种特殊语法。如果您尝试在Python中运行foo.py,它将抛出NameError

有关更多信息,请考虑阅读Mypy docs