【问题标题】:Numpy Typehint with nptyping and Array in PyCharmPyCharm 中带有 nptyping 和数组的 Numpy Typehint
【发布时间】:2020-03-29 11:03:42
【问题描述】:

我尝试使用 numpy 和 nptypingArray 来进行打字提示。

我尝试了以下方法:

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

我得到一个打字错误:

预期类型 'Array[float, Any]',得到了 'ndarray'

据我了解:https://pypi.org/project/nptyping/ 应该是这样的。

【问题讨论】:

  • 哪一行给你这个错误?类型提示仅适用于用户。我也尝试复制您的问题,但isinstance 给出了预期的输出。请更新您的问题以包含有关该错误以及您如何遇到它的更多信息
  • @sshashank124 正如对我已删除答案的评论中指出的那样,提问者正在尝试做Variable Annotation

标签: python numpy pycharm numpy-ndarray type-hinting


【解决方案1】:

nptyping 目前无法用于静态分析。引用库开发人员在其问题跟踪器上的post

nptyping 不支持mypy(目前)

我不会对“还”寄予太大希望。 NumPy 的 dtype 和 shape 处理很难适应 typing/mypy 静态类型模型,并且 nptyping 自己的设计决策不适合 NumPy 本身。例如,开发人员似乎从未考虑过不是 2D 的数组,因此Array[str, 3] 表示具有 3 行和未指定列的 2D 数组,而不是 3 元素的 1D 数组。所有的实现也是基于行和列的。

据我所知,nptyping 唯一真正的功能是 isinstance 检查,即使那也是错误的。

【讨论】:

  • @NameVergessen:不。就像我说的,NumPy 的 dtype 和形状处理与 typing/mypy 类型系统的匹配非常差。
  • 据我所知还没有(还)。
  • 仅供参考,还没有
猜你喜欢
  • 2017-04-22
  • 2021-06-18
  • 2019-02-18
  • 2012-04-26
  • 1970-01-01
  • 2011-12-15
  • 1970-01-01
  • 2013-12-08
  • 2013-06-04
相关资源
最近更新 更多