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