我尝试使用numpy和nptyping的Array来进行类型提示。
我尝试了以下代码:
enemy_hand: Array[float, 48] = np.zeros(48)
我遇到了一个 TypeError 错误:
期望类型为 'Array[float, Any]',但实际得到了 'ndarray'
据我理解,根据这个链接:https://pypi.org/project/nptyping/,应该是这样的。
我尝试使用numpy和nptyping的Array来进行类型提示。
我尝试了以下代码:
enemy_hand: Array[float, 48] = np.zeros(48)
我遇到了一个 TypeError 错误:
期望类型为 'Array[float, Any]',但实际得到了 'ndarray'
据我理解,根据这个链接:https://pypi.org/project/nptyping/,应该是这样的。
nptyping
目前对于静态分析来说毫无用处。引用库开发者在其问题跟踪器上的一篇帖子:
mypy
还不支持nptyping
。
我不会对“还不支持”抱有太大的期望。NumPy的dtype和shape处理非常难以适应typing
/mypy
静态类型模型,而nptyping
自身的设计决策与NumPy本身不匹配。例如,它似乎从未考虑过不是2D的数组,因此Array[str, 3]
表示具有3行和未指定列的2D数组,而不是3个元素的1D数组。所有实现都是基于行和列的。
据我所知,nptyping
唯一真正的功能就是isinstance
检查,甚至那也有缺陷。
nptyping
2.x,mypy
可以检测数组与非数组,但无法检测形状/维度标签不匹配。 - Ziyuan
isinstance
给出了预期的输出。请更新你的问题,包括更多关于错误的信息以及你如何遇到它的描述。 - sshashank124