我目前正在创建一个用于个人娱乐和练习语言技能的python线性代数模块。最近,我尝试为该模块添加类型注释,如下所示:
class Vector:
# Various irrelevant implementation details
def __add__(self, other: Vector) -> Vector:
# More implementation details....
然而,当我试图导入它时,它会抛出一个 NameError: Name 'Vector' is not defined
的错误。我知道这个问题已经在这里以某种形式被回答过了:here,但它似乎并没有完全为我的情况提供答案。
我想知道:
- 我已经在这个文件中明确定义了这个类,为什么它说这个名称未定义?
- 如何定义
Vector
,使其可以用作注释(作为一个type
)?