如何解决将参数注释为 np.ndarray 有什么意义?
import numpy as np
from typing import Dict,Any
def func(arr: np.ndarray):
arr.to_json()
arr.to_jason()
class MyClass:
def to_json(self) -> Dict[str,Any]: ...
def my_func(arr: MyClass):
arr.to_json()
arr.to_jason()
如果我运行 mypy
我得到
$ mypy t2.py --ignore-missing-imports
t2.py:13: error: "MyClass" has no attribute "to_jason"; maybe "to_json"?
Found 1 error in 1 file (checked 1 source file)
因此,在 func2
中,当我将 arr
注释为 MyClass
然后对其调用不存在的方法时,mypy
发现了错误。但是当我在 func
上调用不存在的方法时,arr
并没有发生同样的情况,注释为 np.ndarray
。
确实,如果我使用 reveal_type
,那么在 func
中我看到它是 Any
类型。
然而,我看到很多人在他们的代码中将变量注释为 np.ndarray
。人们为什么要这样做?只是为了可读性,还是可以帮助 mypy 真正找到任何错误?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。