Numpy Typehint with nptyping and Array in PyCharm

与世无争的帅哥 提交于 2020-03-01 05:04:07

问题


I try to use numpy with nptyping's Array to do my typehinting.

I tried the following:

enemy_hand: Array[float, 48] = np.zeros(48)

I get an typerror:

Expected Type 'Array[float, Any]', got 'ndarray' instead

as far as I understand from this: https://pypi.org/project/nptyping/ thats how it should look.


回答1:


nptyping is currently useless for static analysis. Quoting a post by the library's developer on its issue tracker,

mypy is just not supported by nptyping (yet)

I wouldn't put much hope in that "yet". NumPy's dtype and shape handling is very hard to fit into the typing/mypy static type model, and nptyping's own design decisions are a poor fit for NumPy itself. For example, it doesn't look like the dev ever considered arrays that aren't 2D, so Array[str, 3] represents a 2D array with 3 rows and unspecified columns instead of a 3-element 1D array. All the implementation is in terms of rows and columns, too.

As far as I can tell, the only real functionality nptyping has is isinstance checks, and even that's buggy.



来源:https://stackoverflow.com/questions/59179493/numpy-typehint-with-nptyping-and-array-in-pycharm

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!