python参数类型提示是否支持嵌套类型信息?

时间:2019-05-07 17:43:27

标签: python types

我在逻辑上具有如下功能:

 def computeProbability(
     x_i: np.array(np.int32), 
     colProbabilities: list(dict(string,np.float32))
 ) -> list(double):
     return []  # placeholder

我的猜测是,这里可以实现的最严格的类型检查是:

def computeProbability(x_i: np.array, colProbabilities: list) -> list:
     return []  # placeholder

这个假设正确吗?

1 个答案:

答案 0 :(得分:0)

实际上, 可能会提供类型信息。刚刚从python 3.5+中发现了type hints。这些对于IDE来说非常有用:例如您可以做到

ListOfDict = List[Dict[str, float]]

然后声明一个方法,该方法返回具有字符串键和浮点值的Dicts列表

from typing import List, Dict
Vector = List[float]
ListOfDict = List[Dict[str, float]]

使用此:

def computeLikelihood(x_i_vals: Vector, allProbs: ListOfDict):

现在我们可以在IDE中获得方法提示!

enter image description here

这是开发嵌套数据结构的一大胜利!