我有一个逻辑如下的函数:
def computeProbability(
x_i: np.array(np.int32),
colProbabilities: list(dict(string,np.float32))
) -> list(double):
return [] # placeholder
Run Code Online (Sandbox Code Playgroud)
我的猜测是,这里可以实现的最严格的类型检查是:
def computeProbability(x_i: np.array, colProbabilities: list) -> list:
return [] # placeholder
Run Code Online (Sandbox Code Playgroud)
这个假设正确吗?
实际上可以提供深层类型信息。type hints刚刚从 python 3.5+发现。这些对于 IDE 来说非常有用:例如你可以这样做
ListOfDict = List[Dict[str, float]]
Run Code Online (Sandbox Code Playgroud)
然后声明一个方法,返回带有字符串键和浮点值的字典列表
from typing import List, Dict
Vector = List[float]
ListOfDict = List[Dict[str, float]]
Run Code Online (Sandbox Code Playgroud)
使用这个:
def computeLikelihood(x_i_vals: Vector, allProbs: ListOfDict):
Run Code Online (Sandbox Code Playgroud)
现在我们可以在IDE中获取方法提示了!
这是开发嵌套数据结构的一大胜利!